0-1背包
萌萌,站起来
这个作者很懒,什么都没留下…
展开
-
背包问题汇总
解题思路 常见的背包问题有 1、组合问题。 2、True、False问题。 3、最大最小问题 1.组合问题: leetcode 377 给定一个由正整数组成且不存在重复数字的数组,找出和为给定目标正整数的组合的个数。 nums = [1, 2, 3] target = 4 所有可能的组合为: (1, 1, 1, 1) (1, 1, 2) (1, 2, 1) (1, 3) (2, 1, 1) (2...原创 2020-04-17 14:23:14 · 205 阅读 · 0 评论 -
玩转lee139 单词拆分 不太明白
给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明: 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1: 输入: s = “leetcode”, wordDict = [“leet”, “code”] 输出: true 解释: 返回 true 因为 “leetcode” 可以被拆分成...原创 2020-02-21 14:35:20 · 127 阅读 · 0 评论 -
玩转lee474 一和零 0-1背包问题
在计算机界中,我们总是追求用有限的资源获取最大的收益。 现在,假设你分别支配着 m 个 0 和 n 个 1。另外,还有一个仅包含 0 和 1 字符串的数组。 你的任务是使用给定的 m 个 0 和 n 个 1 ,找到能拼出存在于数组中的字符串的最大数量。每个 0 和 1 至多被使用一次。 注意: 给定 0 和 1 的数量都不会超过 100。 给定字符串数组的长度不会超过 600。 示例 1: 输入:...原创 2020-02-21 13:25:43 · 133 阅读 · 0 评论 -
玩转 0-1背包问题 lee377 组合总和(完全背包)
动态规划 横轴是容量,纵轴是物品id 求解问题的过程就是维护这个表的过程,求解的值,就是最后一个空格的值 首先对于第0号物品 容量为0时,由于自身重量为1,所以放不进去,所以空格填0,容量为1以后,该物品可以放进去了,就都为6 根据bobo老师写的代码: public class bag_0_1 { public static int bagquestion (int c, int[]...原创 2020-02-21 12:25:38 · 372 阅读 · 0 评论 -
玩转动态规划 lee416分割等和子集 0-1背包
给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 注意: 每个数组中的元素不会超过 100 数组的大小不会超过 200 示例 1: 输入: [1, 5, 11, 5] 输出: true 解释: 数组可以分割成 [1, 5, 5] 和 [11]. 示例 2: 输入: [1, 2, 3, 5] 输出: false 解释: 数组不能分割成两个元素和相等的子集....原创 2020-02-20 22:03:12 · 125 阅读 · 0 评论