Java递归求解数组里“数组合”
作者:网络转载 发布时间:[ 2016/10/8 10:43:34 ] 推荐标签:测试开发技术 Java
题目要求如下:
给定一个字符串数组,数组中的元素各不相同,把一个数组里的“数组合”全部列出,比如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程序开发有所帮助.
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11