Leetcode每日打卡:77. 组合(Python实现)

578 篇文章 ¥299.90 ¥399.90
570 篇文章 ¥299.90 ¥399.90

题目的内容如下

解答:这道题目一看就是入门级搜索题,十分简单,DFS一遍即可。

DFS本来就是一个对栈的操作,也就是说你任意一个DFS理论上都是可以用栈来实现,只不过是代码的复杂程度不用罢了,以下代码也可以改写成完全用栈来实现的,有兴趣的同学可以去试试,应该也是不复杂的。本文为了简单起见,用了个递归+栈。

代码如下,有问题欢迎留言。

class Solution:    def dfs(self,pos,k,n):        # 参数解释:pos为当前遍历到的位置,k是还需要选择k个,n是总长度        for pos in range(pos,n-k+1):            self.vis.append(pos+1)            if k-1 == 0:                self.ret.append(self.vis[:])                self.vis.pop()                continue
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值