小编Lyn*_*ngs的帖子

通过从数组中选择来创建排列

我有一个2D数组,存储与您在电话键盘上看到的不同的字母.

char [][] convert = 
    {   {},
        {'A','B','C'},
        {'D','E','F'},      
        {'G','H','I'},
        {'J','K','L'},
        {'M','N','O'},
        {'P','R','S'},
        {'T','U','V'},
        {'W','X','Y'}
    };
Run Code Online (Sandbox Code Playgroud)

如果我想找到一个5字母单词的所有可能的排列,从2D数组的前5行各取1个字母,我该怎么做?我正在考虑递归,但这只是让我感到困惑.

为了使这个问题更容易理解,这是一个例子:

一个3个字母的单词取自第1行{'A','B','C'}的第一个字母,第3行的第二个字母{'G','H','I'},以及第6行的第三个字母{'P','R','S'}.总共有27种可能的结果:AGP AGR AGS AHP AHR AHS AIP AIR AIS BGP BGR BGS BHP BHR BHS BIP BIR BIS CGP CGR CGS CHP CHR CHS CIP CIR CIS.

java arrays recursion permutation

6
推荐指数
1
解决办法
164
查看次数

标签 统计

arrays ×1

java ×1

permutation ×1

recursion ×1