day22| 回溯算法

三道题目 组合 组合之和 和电话号码

组合之和和组合异曲同工。大概逻辑就是

  • 首先明确组合和排序的区别。 在组合里面我们要确保不能有重复的序列
  • 我们保持整体序列是有序的,这样就避免了在遍历的过程中出现重复的状况
  • 假设我们输入一个 cur 那么我们就遍历所有比 cur 大的数
  • 在代码中就相当于while last<=n:这里的遍历
def dfs(path):
    if len(path)==k:
        res.append(path[:])
        return
    last = path[-1] if path else 0
    # 剪枝
    if len(path)+n-last<k:
        return
    last+=1
    while last<=n:
        dfs(path+[last])
        last+=1

全部评论

相关推荐

03-01 21:45
中北大学 golang
孤蓝长空:请你说一下为什么你用websocket而不是http,请你说一下什么是rpc,为什么用rpc,你的rpc的传输协议是JSON,xml还是什么 请你描述一下你的鉴权流程(完整的) 我问的是第二个项目,随便问的哈哈哈
开工第一帖
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务