随笔分类 -  算法--动态规划

LeetCode 303.区域检索-数组不可变(accumulate()和for循环差异分析)
摘要:给定一个整数数组 nums,求出数组从索引 i 到 j (i ≤ j) 范围内元素的总和,包含 i, j 两点。 示例: 说明: 上面是accumulate()下面是for循环 时间复杂度同是O(n),耗时差这么多。 举个栗子 直接查看汇编代码 首先我怀疑编译器在进行begin()操作或者使用容器时
316
0
0
LeetCode 887.鸡蛋掉落(C++)
摘要:每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去。 你知道存在楼层 F ,满足 0 <= F <= N 任何从高于 F 的楼层落下的鸡蛋都会碎,从 F 楼层或比它低的楼层落下的鸡蛋都不会破。 每次移动,你可以取一个鸡蛋(如果你有完整的鸡蛋)并把它从任一楼层 X 扔下(满足 1 <= X
862
0
0
LeetCode 62.不同路径(C++)
摘要:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 问总共有多少条不同的路径? 例如,上图是一个7 x 3 的网格。有多少可能的路径? 说明:m 和 n 的值均不
307
0
0
DP:凑零钱问题/最长非降子序列(C++)
摘要:你给出一定数额的钱 i 元给我,我利用手中的硬币(m元, j元, k元...)兑换等值的钱给你,要求硬币数最少。 举例:给出1-11的钱,手中硬币有1元,3元,5元。 重点是找到状态和状态转移方程。 具体可以看这里:点击进入 引用自上面链接: 最终我们要求解的问题,可以用这个状态来表示:d(11),
642
0
0
点击右上角即可分享
微信分享提示
深色
回顶
收起