• 78.子集--77.组合


    78,子集

    递归

    1. class Solution(object):
    2. def subsets(self, nums):
    3. """
    4. :type nums: List[int]
    5. :rtype: List[List[int]]
    6. """
    7. # 结果
    8. ans=[]
    9. # 临时结果
    10. dp_=[]
    11. def dfs(nums,index):
    12. if index==len(nums):
    13. # 保存结果
    14. co_dp=dp_[:]
    15. ans.append(co_dp)
    16. return
    17. # 终止条件
    18. # 不选:
    19. dfs(nums,index+1)
    20. # 选
    21. dp_.append(nums[index])
    22. dfs(nums,index+1)
    23. dp_.pop()
    24. dfs(nums,0)
    25. return ans

    77.组合

    递归  没有优化

    1. class Solution(object):
    2. def combine(self, n, k):
    3. """
    4. :type n: int
    5. :type k: int
    6. :rtype: List[List[int]]
    7. """
    8. # 结果
    9. ans=[]
    10. # 临时结果
    11. dp_=[]
    12. def dfs(index,k):
    13. if index==n+1:
    14. # 保存结果
    15. # 加一个判断len(dp_==k)
    16. if len(dp_)==k:
    17. co_dp=dp_[:]
    18. ans.append(co_dp)
    19. return
    20. # 终止条件
    21. # 不选:
    22. dfs(index+1,k)
    23. # 选
    24. dp_.append(index)
    25. dfs(index+1,k)
    26. dp_.pop()
    27. dfs(1,k)
    28. return ans

    优化后

    1. class Solution(object):
    2. def combine(self, n, k):
    3. """
    4. :type n: int
    5. :type k: int
    6. :rtype: List[List[int]]
    7. """
    8. # 结果
    9. ans=[]
    10. # 临时结果
    11. dp_=[]
    12. def dfs(index,k):
    13. # 提前判断终止
    14. if len(dp_)>k or len(dp_)+n-index+1
    15. return
    16. if index==n+1:
    17. # 保存结果
    18. # 加一个判断len(dp_==k)
    19. # if len(dp_)==k:
    20. co_dp=dp_[:]
    21. ans.append(co_dp)
    22. return
    23. # 终止条件
    24. # 不选:
    25. dfs(index+1,k)
    26. # 选
    27. dp_.append(index)
    28. dfs(index+1,k)
    29. dp_.pop()
    30. dfs(1,k)
    31. return ans

  • 相关阅读:
    记录一次bug
    聊聊流式数据湖Paimon(三)
    AI智能机器人的测评以及部署
    聊聊Mybatis的Executor之模板方法模式
    docker快速入门
    模态框确认按钮的保存
    P1440 求m区间内的最小值
    vue3.2 封装一个 可编辑的table插件
    A-Level经济真题(11)
    Android 启动优化系列 —— 系统启动流程
  • 原文地址:https://blog.csdn.net/weixin_74711824/article/details/134471284