Java递归求解数组里“数组合”

Tia ·
更新时间:2024-11-13
· 652 次阅读

  题目要求如下:   给定一个字符串数组,数组中的元素各不相同,把一个数组里的“数组合”全部列出,比如1和2列出来为1,2,12,21.一共有4个“数组合”   输入描述:   第一行输入数为数组元素个数,第二行输入数组元素   输出描述:   给定的数组有多少个“数组合”   输入例子:   3   1 2 3   输出例子:   15   解题思路,本题可以考虑使用循环递归的算法:   以下代码仅供参考   import java.util.ArrayList;   import java.util.LinkedList;   import java.util.List;   import java.util.Scanner;   public class Main{   static int index=0;   public static void main(String[] args) {   Scanner mScanner=new Scanner(System.in);   int num=mScanner.nextInt();   List<String> array=new ArrayList<String>();   for (int i = 0; i < num; i++) {   array.add(mScanner.next());   }   listAll(array, "");   System.out.println(index-1);   }   public static void listAll(List list, String prefix) {   index++;   //if (list.isEmpty()) {   // System.out.print(prefix+" ");   //}   int len = list.size();   for (int i = 0; i < len; i++) {   List temp = new LinkedList(list);   listAll(temp, prefix + temp.remove(i));   }   }   }   以上是Java递归求解数组里“数组合”的全文介绍,希望对您学习和使用java程序开发有所帮助.



JAVA 数组 java递归

需要 登录 后方可回复, 如果你还没有账号请 注册新账号