leetcode 216

其实还有更加有效率的方法


/**

 * @param {number} k
 * @param {number} n
 * @return {number[][]}
 */
var combinationSum3 = function(k, n) {
  
    arrl=[];
    arr=[];
    var search=function(k1){
        if(k1==k+1){
            sum=0;
            for(var i=0;i                 sum+=arr[i];
            }
            if(sum==n){
                arrl.push(arr.slice(0));
            }
            return;
        }
        if(k1==1){
            j=1;
        }else{
            j=arr[arr.length-1]+1;
        }
        for(i=j;i<=9;i++){
            arr.push(i);
            search(k1+1);
            arr.pop();
        }
    }
    search(1);
    return arrl;  
};

你可能感兴趣的:(javascript,算法)