和为定值的m个数

Posted 张乐乐章

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了和为定值的m个数相关的知识,希望对你有一定的参考价值。

和为定值的m个数

np 问题(时间复杂度o(2**n))

 

 

 

code1:

暴力递归

解决 只有正数的情况

 1 class Solution {
 2     private List<List<Integer>> res = new ArrayList<List<Integer>>();
 3     public List<List<Integer>> fourSum(int[] nums, int target) {
 4         boolean[] a = new boolean[nums.length];
 5         for(int i = 0;i <a.length-1;i++)
 6             a[i] = false;
 7         sum(nums,a,0,0,target);
 8         return res;
 9     }
10     private void sum(int[] nums,boolean[] a,int i,int has,int target){
11         if(i>a.length-1) return;
12         if(has + nums[i] == target){
13             a[i] = true;
14             
15             res.add(add_res(nums,a));
16             a[i] = false;
17         }
18         a[i] = true;
19         sum(nums,a,i+1,has+nums[i],target);
20         a[i] = false;
21         sum(nums,a,i+1,has,target);
22     }
23     private List<Integer> add_res (int[] nums,boolean[] a){
24         List<Integer> res = new ArrayList<Integer>();
25         for(int i = 0;i<a.length;i++)
26             if(a[i])
27                 res.add(nums[i]);
28         return res;
29     }
30 }

 

以上是关于和为定值的m个数的主要内容,如果未能解决你的问题,请参考以下文章

编程之法:面试和算法心得(寻找和为定值的多个数)

寻找和为定值的两个数

和为定值的两个数

编程之法section II: 2.2 和为定值的两个数

算法笔记_037:寻找和为定值的两个数(Java)

使用java,列举所有给定数组中和为定值的组合