随笔分类 - 算法
一些常见的算法
摘要:0-1背包是最基础的背包,一般题目描述为:给定m个物品,其中每个物品的重量用向量W描述,即第一个物品的重量为w1,物品的价值用向量V描述,另外给定一个容量为C的背包,问这个背包中能装下的物品的最大值为多少? 在这个问题中,有一个显著的特点就是每个物品只能用一次。那么我们分析分析这个问题,在分析问题的
阅读全文
摘要:给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/long
阅读全文
摘要:给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。 例如,给定三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。 来源:力扣(LeetCode) 链接:https:/
阅读全文
摘要:从前面两个超级简单的例子我们能够总结出动态规划的核心就是找出状态转移方程。但是状态的定义我们需要仔细的琢磨琢磨,因为只有我们定义好状态是什么,我们才能够找到该状态的转移方程,有时候,我们会发现,状态定义之后,我们无法快速的得出转台之间的转移方程,此时就需要考虑是否应该换一个角度去思考状态。 我们依然
阅读全文
摘要:上一节中我们讲了一个炒鸡简单的动态规划的例子,主要讲述了动态规划的思路,即我们是怎么从暴力求解,进入到动态规划的思路的。本节中我们来关注另一道炒鸡简单和典型的动态规划的题。 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台
阅读全文
摘要:1、从一个简单的例子开始 爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作: 选出任一 x,满足 0 < x < N 且 N % x == 0 。 用 N - x 替换黑板上的数字 N 。如果玩家无法执行这些操作,就会输掉游戏
阅读全文

浙公网安备 33010602011771号