随笔分类 - 算法
刷题记录
摘要:参考:455.分发饼干 侵删 笔记 什么是贪心算法 为了了满足更多的小孩,就不要造成饼干尺寸的浪费。大尺寸的饼干既可以满足胃口大的孩子也可以满足胃口小的孩子,那么就应该优先满足胃口大的。这里的局部最优就是大饼干喂给胃口大的,充分利用饼干尺寸喂饱一个,全局最优就是喂饱尽可能多的小孩。可以尝试使用贪心策
阅读全文
摘要:参考:关于贪心算法,你该了解这些! 侵删 笔记: 什么是贪心?贪心的本质是选择每一阶段的局部最优,从而达到全局最优。这么说有点抽象,来举一个例子:例如,有一堆钞票,你可以拿走十张,如果想达到最大的金额,你要怎么拿?指定每次拿最大的,最终结果就是拿走最大数额的钱。每次拿最大的就是局部最优,最后拿走最大
阅读全文
摘要:参考:494. 目标和 输入:nums = [1,1,1,1,1], target = 3输出:5解释:一共有 5 种方法让最终目标和为 3 。-1 + 1 + 1 + 1 + 1 = 3+1 - 1 + 1 + 1 + 1 = 3+1 + 1 - 1 + 1 + 1 = 3+1 + 1 + 1 -
阅读全文
摘要:参考:代码随想录-416. 分割等和子集 题目: 题目难易:中等 给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 注意: 每个数组中的元素不会超过 100 数组的大小不会超过 200 示例 1: 输入: [1, 5, 11, 5] 输出: true 解释
阅读全文
摘要:
参考:动态规划:关于01背包问题,你该了解这些!(滚动数组) 笔记: 为何能用一维数组对二维数组进行优化?上一层可以重复利用,直接拷贝到当前层 一位数组时,遍历背包的顺序为何是j--?也就是倒序遍历,倒叙遍历是为了保证物品i只被放入一次! 为何正序遍历会导致物品被放入多次?正序遍历,也就是j++,举
阅读全文
