Coder Social home page Coder Social logo

画解算法 77-组合 about blog HOT 4 CLOSED

guanpengchn avatar guanpengchn commented on September 17, 2024
画解算法 77-组合

from blog.

Comments (4)

dljgs1 avatar dljgs1 commented on September 17, 2024

很慢的递归解。。

var combine = function(n, k) {
var ret = [];
var fn = function(arr,deep){
if(deep==0) return ret.push(arr);
var max = arr[arr.length-1] || 0;
if(arr.length-max>n-k)return;
for(var i = max+1;i<=n;i++){
fn(arr.concat(i),deep-1);
}
}
fn([],k);
return ret;
};

from blog.

guanpengchn avatar guanpengchn commented on September 17, 2024

@dljgs1 为什么慢,看着还行啊

from blog.

dljgs1 avatar dljgs1 commented on September 17, 2024

可能是因为用递归的锅。可读性是好了,速度只超过了9%。。。

from blog.

intbjw avatar intbjw commented on September 17, 2024

回溯法,求子集问题

class Solution:
    #代码借鉴的大佬的
    def combine(self, n, k):
        cans = {i+1 for i in range(n)}
        
        def backtrack(temp, cans, k, res):
            if len(temp) == k:
                res.append(temp[:])
                return res
            if len(cans)+len(temp)<k:
                return res
            for x in cans:
                temp.append(x)
                cans_ = {y for y in cans if y>x}  # 滤重
                res = backtrack(temp, cans_, k, res)
                temp.pop()
            return res

        res = backtrack([], cans, k, [])
        return res

from blog.

Related Issues (13)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.