资讯专栏INFORMATION COLUMN

LeetCode偶尔一题 —— 39. Combination Sum(回溯算法系列)

linkin / 1862人阅读

摘要:输入输出分析题目由于我们需要找到多个组合,简单的使用循环肯定是不行的,这时候我们可以使用回溯算法来解决这个问题。用回溯算法解决问题的一般步骤针对所给问题,定义问题的解空间,它至少包含问题的一个最优解。

题目描述

Given a set of candidate numbers (candidates) (without duplicates) and a target number (target), find all unique combinations in candidates where the candidate numbers sums to target.

The same repeated number may be chosen from candidates unlimited number of times.

Note:

All numbers (including target) will be positive integers.

The solution set must not contain duplicate combinations.

大意:给定一组不含重复数字的数组和一个目标数字,在数组中找出所有数加起来等于给定的目标数字的组合。

输入
candidates = [2,3,6,7], target = 7
输出
[
  [7],
  [2,2,3]
]
分析题目

由于我们需要找到多个组合,简单的使用 for 循环肯定是不行的,这时候我们可以使用回溯算法来解决这个问题。

用回溯算法解决问题的一般步骤:

针对所给问题,定义问题的解空间,它至少包含问题的一个(最优)解。

确定易于搜索的解空间结构,使得能用回溯法方便地搜索整个解空间 。

以深度优先的方式搜索解空间,并且在搜索过程中用剪枝函数避免无效搜索。

根据题目的描述我们知道它满足了我们所说的步骤一,下面我们来确定搜索的思路

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/105305.html

相关文章

  • LeetCode 关于回溯问题的看法

    摘要:回溯算法在算法过程中就是类似于枚举算法,尝试在搜索过程中找到问题的解。 回溯算法( BackTrack )在算法过程中就是类似于枚举算法,尝试在搜索过程中找到问题的解。 使用回溯算法解题的一般步骤 使用回溯算法解题的一般步骤: 针对所给问题得出一般的解空间 用回溯搜索方法搜索解空间 使用深度优先去搜索所有解并包含适当的剪枝操作 LeetCode 使用回溯算法的题目主要有 36 题,...

    ASCH 评论0 收藏0
  • LeetCode偶尔一题 —— 268. 缺失数字

    摘要:题目描述给定一个包含中个数的序列,找出中没有出现在序列中的那个数。示例输入输出示例输入输出最简单的解法刚看到的这道题的时候,第一感觉就是排序,之后直接挨个比较就能找到缺失的数字。 题目描述 给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。 示例 1: 输入: [3,0,1] 输出: 2 示例 2: 输入: [9,6,...

    e10101 评论0 收藏0
  • leetcode40 combination sum 2

    摘要:参考思路和非常类似,只是这里需要增加进行重复处理的部分。题目要求题目中新添的要求包括数组中存在重复值,而且数组中每个值只可以使用一次。需要注意的是,既然数组中存在重复的值,就要注意可能会将重复的情况加入结果数组。 参考 思路和leetcode39 combination sum 非常类似,只是这里需要增加进行重复处理的部分。请参考我对leetcode39进行解答的这篇博客。 题目要求 ...

    Code4App 评论0 收藏0
  • leetcode-39-Combination Sum

    摘要:分为每次从里边循环所有数,已有值减去所有数,新值作为已有值,继续处理。遇到返回保存,负数去掉 39. Combination SumDescriptionHintsSubmissionsDiscussSolutionGiven a set of candidate numbers (C) (without duplicates) and a target number (T),find...

    Drummor 评论0 收藏0
  • leetcode39 combination sum

    摘要:在这道题中,我结合了递归的思想来。就是将当前的值作为一个潜在的结果值加入一个结果数组将数组作为当前结果传入下一轮递归。 题目要求 Given a set of candidate numbers (C) (without duplicates) and a target number (T), find all unique combinations in C where the ca...

    luoyibu 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<