LeetCode 78题:子集 回溯法
回溯法本质是尝试所有的可能性,并把符合条件的可能记录下来,不符合的情况及时退出的一种方法。下面我们通过两个具体的题目来深刻理解回溯法的思想。 第一题:子集 题目分析:数组长度为n的数组的所有子集,其长度从0(空数组)到n(原数组)不等,因此我们可以使用回溯法来探寻不同长度子数组的所有可能性。 由于回溯法刚开始的时候理解起来有难度,所以我们首先来结合代码进行逐步分析。 为了更细致的总结其调用过程,我们将示例中长度为3的数组[1,2,3]替换为长度为4的数组[1,2,3,4],以下为题目使用回溯法的ac代码: nums = [1,2,3,4] def backtrack(first=0, cur
用户评论