一道小题:从一个数组里产生所有可能的乘积组合
2014-08-14 15:10
776 查看
比如给定一个数组[2,3,11] 要求产生[1,2,3,6,11,22,33,66]
观察可得:[2,3] 产生了[1,2,3,6] 的乘积可能。当加入11时,11会和现有的每一个元素都相乘得到[1,2,3,6,11,22,33,66]
public static void allProducts(int[] arr) {
List<Integer> list = new ArrayList<Integer>();
list.add(1);
for(int i=0; i<arr.length; i++) {
int size = list.size();
for(int j=0; j<size; j++) {
list.add(arr[i] * list.get(j));
}
}
System.out.println(list);
}
观察可得:[2,3] 产生了[1,2,3,6] 的乘积可能。当加入11时,11会和现有的每一个元素都相乘得到[1,2,3,6,11,22,33,66]
public static void allProducts(int[] arr) {
List<Integer> list = new ArrayList<Integer>();
list.add(1);
for(int i=0; i<arr.length; i++) {
int size = list.size();
for(int j=0; j<size; j++) {
list.add(arr[i] * list.get(j));
}
}
System.out.println(list);
}
相关文章推荐
- 给定一个数组,求数组中所有元素的可能组合(每个元素只出现一次),使其和等于给定数的解决办法
- 每日一道算法题:打印一维数组的所有组合
- 打印出大小为n的数组(可能有重复元素)里所有可能的组合
- 一道Amazon经典的题目,经常会考到,给一个target数字以及一个数组,求所有的加起来为这个数字的组合
- 给定一个数组,n个数,打印所有可能的r位数的组合。例如{1,2,3,4}n=4,r=2.输出{1,2}{1,3}{1,4}{2,3}{2,4}{3,4}
- 实现求出若干整数之和为500的连续整数(如98,99,100,101,102)的所有组合&&产生一个int数组,长度为100,并向其中随机插入1~100,要求不能重复
- 找出一个字符数组(元素不重复)所有可能字符的组合
- 输出给定数组中所有和为S的可能组合
- 寻找数组中满足和为定值的两个数或所有可能组合
- 给定一个数组,求数组中所有元素的可能组合(每个元素只出现一次),使其和等于给定数的解决办法
- 01背包问题中递归产生所有可能组合
- 按要求打印字符数组中所有可能的字符组合
- 找出数组中满足条件的所有组合!
- 1,2,5,10四个基数任意次数组合相加得到一个数N,求所有可能组合
- 求从n个数组任意选取一个元素的所有组合
- 试题:找出数组中元素和为指定值的所有组合
- 【练习】输入两个正整数n和m,从数列1,2,3.......n中随意取几个数,使其和等于m,要求将其中所有的可能组合列出来
- 一道编程之美上的问题-腾讯的笔试题目:求数组的部分乘积
- 给一个字符串(包含重复字符),打印它的所有可能的组合。
- 编程求解,输入两个整数n和m,从数列1,2,3,……n中随意取几个数,使其和等于m。要求将所有的可能组合列出来(背包问题求解)