我正在尝试编写一个算法,该算法将采用一组字母和一个包含单词大小的int,并为此创建每个可能的字母分组,但我完全被卡住了......
示例:
**Input**
Letters: E
Size: 4
**Output**
E___
E_E_
_E_E
EE__
_EE_
___E
etc..
另一个例子
**Input**
Letters: E, A
Size: 4
**Output**
EA__
AE__
E_A_
_E_A
A_E_
etc...
答案 0 :(得分:0)
这是一个使用递归来解决问题的算法: 定义一个方法,该方法将length,char数组(包括'_')和另一个String数组作为参数。
String[] meth(int l;char ch[],String[] s)
Define a new String array (ns) which contains N elements where N=length of array s * l
Copy each element of s into ns thrice, each time appending an element of ch
Make a recursive call to meth with (l, ch, ns) if the length of ns is less than l
If the input is {'E', 'A'} and 4
call meth(4,new char[]{'E','A','_'},new String[]{} )