当前位置: 技术问答>java相关
面试问题,求解
来源: 互联网 发布时间:2015-06-03
本文导语: delphi,c或java实现exe user输入一句话; 输出单词的任意组合 如i am a good man 输出: am i good a man i good man a am ... ... ... | 我想了一下,最好的方法应该是递归了! 每次你用for循环从长度为n的数组中取...
delphi,c或java实现exe
user输入一句话;
输出单词的任意组合
如i am a good man
输出:
am i good a man
i good man a am
...
...
...
user输入一句话;
输出单词的任意组合
如i am a good man
输出:
am i good a man
i good man a am
...
...
...
|
我想了一下,最好的方法应该是递归了!
每次你用for循环从长度为n的数组中取出一个值,这样下一次你只要从剩下的(n-1)值中再抽出一个,这样递归到只剩下一个的时候就搞定了!你试试!呵呵!
每次你用for循环从长度为n的数组中取出一个值,这样下一次你只要从剩下的(n-1)值中再抽出一个,这样递归到只剩下一个的时候就搞定了!你试试!呵呵!
|
好象是应该用递归的.
有点要注意,要处理有相同的单词的情况.
有点要注意,要处理有相同的单词的情况.
|
递归,可运行, jbuilder3.0
package untitled8;
import java.util.*;
public class MyClassCSDN {
public MyClassCSDN() {
}
public static void main(String[] args) {
MyClassCSDN myClassCSDN = new MyClassCSDN();
myClassCSDN.invokedStandalone = true;
ArrayList l=new ArrayList();
l.add ("I");
l.add ("am");
l.add ("a");
l.add ("good");
l.add ("man");
ArrayList temp=myClassCSDN.N(l);
for ( int i=0;i