Find all subsets of length k in an array

前端 未结 13 1915
梦谈多话
梦谈多话 2020-11-27 05:34

Given a set {1,2,3,4,5...n} of n elements, we need to find all subsets of length k .

For example, if n = 4 and k = 2, the output would be

13条回答
  •  一生所求
    2020-11-27 05:51

    JavaScript implementation:

    var subsetArray = (function() {
      return {
        getResult: getResult
      }
    
      function getResult(array, n) {
    
        function isBigEnough(value) {
          return value.length === n;
        }
    
        var ps = [
          []
        ];
        for (var i = 0; i < array.length; i++) {
          for (var j = 0, len = ps.length; j < len; j++) {
            ps.push(ps[j].concat(array[i]));
          }
        }
        return ps.filter(isBigEnough);
      }
    })();
    
    
    
     var arr = [1, 2, 3, 4,5,6,7,8,9];
     console.log(subsetArray.getResult(arr,2));
    

提交回复
热议问题