美文网首页
90 lintcode k数和

90 lintcode k数和

作者: 小雨启明 | 来源:发表于2019-01-20 09:38 被阅读0次

class Solution {

public:

    /*

    * @param A: an integer array

    * @param k: a postive integer <= length(A)

    * @param target: an integer

    * @return: A list of lists of integer

    */

    vector<vector<int>> kSumII(vector<int> &A, int k, int target) {

        // write your code here

        vector<vector<int> >result;

        vector<int>temp;

        DFS(A,k,target,0,0,result,temp);

        return result;

       

    }

    void  DFS(vector<int> &A, int k, int target,int sum,int index,vector<vector<int> >&result,vector<int>&temp)

    {

        if(temp.size()==k&&sum==target)

        {

          result.push_back(temp);

          return ;

        }

        if(index==A.size()||sum>target)

        return;

        temp.push_back(A[index]);

        DFS(A,k,target,sum+A[index],index+1,result,temp);

        temp.pop_back();

        DFS(A,k,target,sum,index+1,result,temp);

       

    }

temp.push_back()

Temp.pop_back();

必须配对使用而且与跟随语句的位置无关,这两个的使用可以保证,在退出当前的递归之后,不会对上一个的递归状态产生影响。

相关文章

  • 90 lintcode k数和

    class Solution { public: /* * @param A: an integer a...

  • lintcode k数和

    给定n个不同的正整数,整数k(k < = n)以及一个目标数字。在这n个数里面找出K个数,使得这K个数的和等于目标...

  • lintcode k数和||

    给定n个不同的正整数,整数k(1<= k <= n)以及一个目标数字。在这n个数里面找出K个数,使得这K个数的和等...

  • lintcode-k数和

    动态规划(确定0-1背包、完全背包、多重背包)0-1背包:每个元素要么出现,要么不出现,逆序遍历,数组定义为:前i...

  • LintCode 90 [k Sum II]

    原题 给定n个不同的正整数,整数k(1<= k <= n)以及一个目标数字。在这n个数里面找出K个数,使得这K个数...

  • Remove K Digits

    https://www.lintcode.com/problem/remove-k-digits/description

  • k数和

    def kSum(self, A, k, target):n = len(A)if n <= 0 or k <= ...

  • K数和

    题目: 给定n个不同的正整数,整数k(k < = n)以及一个目标数字。 在这n个数里面找出K个数,使得这K个数的...

  • LintCode 5. Kth Largest Element

    原题 LintCode 5. Kth Largest Element Description Find K-th ...

  • 第k大元素

    (lintcode上面的题解)第k大元素:(从小到大的排序)

网友评论

      本文标题:90 lintcode k数和

      本文链接:https://www.haomeiwen.com/subject/idxxjqtx.html