77 Combinations

给定两个整数n和k,返回1~n中k个数的所有可能组合。

回溯法,深度优先搜索,faster than 91%

/**
 * @param {number} n
 * @param {number} k
 * @return {number[][]}
 */
var combine = function(n, k) {
    var res = []
    if(n === 0 || k === 0) return res
    dfs(n, k, 1, [], res)
    return res
};
var dfs = function(n, k, flag, sub, res){
    if(sub.length === k){
        res.push(sub.slice())
    }else{
        for(var i = flag; i <= n; i++){
            sub.push(i)
            dfs(n, k, i + 1, sub, res)
            sub.pop()
        }
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容