leetcode, 子集,组合,排列,回溯法解决对比

 

 子集和组合问题,基本相同,区别在于添加到res时候,子集不需要判断大小,因为所有长度都要;

组合需要判断大小track等于k的时候,才添加到结果

在更新选择列表的时候,用start来进行数组区间的分隔。

 

 排列问题,与子集组合问题差别在于,它的树结构是一颗对称的、完全n叉树,遍历N叉树即可

添加结果时,判断长度是否等于len(nums)即可;

在更新选择列表时候,用nums[i] in track来去掉已经选择过的元素。

 

通用的回溯框架为:

 

 

posted @ 2020-04-15 09:33  you-wh  阅读(287)  评论(0编辑  收藏  举报
Fork me on GitHub