【LeetCode】升级打怪之路 Day 25:回溯算法解决“排列-组合-子集”问题

今日题目:

  • 78. 子集
  • 77. 组合
  • 46. 全排列
  • 90. 子集 II
  • 47. 全排列 II
  • 39. 组合总和

目录

      • 1. 子集(元素无重不可复选) 【easy】
      • 2. 组合(元素无重不可复选)
      • 3. 排列(元素无重不可复选) 【classic】
      • 4. 子集/组合(元素可重不可复选)【稍有难度】
      • 5. 排列(元素可重不可复选)
      • 6. 子集/组合(元素无重可复选)

无论是排列、组合还是子集问题,简单说无非就是让你从序列 nums 中以给定规则取若干元素。但无论形式怎么变化,其本质就是穷举所有解,而这些解呈现树形结构,所以合理使用回溯算法框架,稍改代码框架即可把这些问题一网打尽

记住,在运用回溯算法来解决问题时,一定要用手画一下回溯树的构建思路,也就是说弄清楚在每一步如何做出选择以及递归结束的条件是什么。

1. 子集(元素无重不可复选)

你可能感兴趣的:(LeetCode,leetcode,算法)