求只包含素数的数组里面所有元素所有可能的乘积
// 求只包含素数的数组里面所有元素所有可能的乘积 // 求只包含素数的数组里面所有元素所有可能的乘积,简单说就是假如一个数组【3, 5, 7, 11】,求只包含1,2,3,4个元素的互相乘,要求输出所有的组合情况。 lz是用backtracking输出所有的可能组合搞定 public List<Integer> allProducts (int[] nums){ List<Integer> result = new ArrayList<>(); dfs(result, 0, 1); return result; } private void dfs(List<Integer> result, int index, int tmp){ // base case if(index == nums.length){ if(tmp != 1){ result.add(tmp); } return; } // dfs int current = nums[index]; // pick the current number dfs(result, index + 1, tmp * current); // not pick the current number dfs(result, index + 1, tmp); }
not tested yet
posted on 2018-08-11 04:30 猪猪🐷 阅读(310) 评论(0) 收藏 举报
浙公网安备 33010602011771号