随笔分类 - 动态规划(Dp)
摘要:一条包含字母 A-Z 的消息通过以下映射进行了 编码 : 'A' -> 1'B' -> 2...'Z' -> 26要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法)。例如,"11106" 可以映射为: "AAJF" ,将消息分组为 (1 1 10 6)"KJF"
阅读全文
摘要:给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + 1 。
阅读全文
摘要:给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。 两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串: s = s1 + s2 + ... + snt = t1 + t2 + ... + tm|n - m| <
阅读全文
摘要:给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 给你一个整数 n ,返回和为 n 的完全平方数的 最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、
阅读全文
摘要:描述 给定一个正整数kk,你需要使用以下两种操作,将00变为kk: 对操作数加一 对操作数乘二 你需要写一个函数,返回使00变为kk的最少操作数 k≤105 样例 样例1 输入: 1 输出: 1 说明: 0 + 1 = 1 样例2 输入: 4 输出: 3 说明: 0 + 1 = 1; 1 * 2 =
阅读全文
摘要:1538. 卡牌游戏 II 中文English 你跟你的朋友在玩一个卡牌游戏,总共有 n 张牌。每张牌的成本为 cost[i] 并且可以对对手造成 damage[i] 的伤害。你总共有 totalMoney 元并且需要造成至少 totalDamage 的伤害才能获胜。每张牌只能使用一次,判断你是否可
阅读全文
摘要:89. K数之和 中文English 给定 n 个不同的正整数,整数 k(k <= n)以及一个目标数字 target。 在这 n 个数里面找出 k 个数,使得这 k 个数的和等于目标数字,求问有多少种方案? 样例 样例1 输入: List = [1,2,3,4] k = 2 target = 5
阅读全文
摘要:562. 背包问题 IV 中文English 给出 n 个物品, 以及一个数组, nums[i]代表第i个物品的大小, 保证大小均为正数并且没有重复, 正整数 target 表示背包的大小, 找到能填满背包的方案数。每一个物品可以使用无数次 样例 样例1 输入: nums = [2,3,6,7] 和
阅读全文
摘要:77. 最长公共子序列 中文English 给出两个字符串,找到最长公共子序列(LCS),返回LCS的长度。 样例 样例 1: 输入: "ABCD" and "EDCA" 输出: 1 解释: LCS 是 'A' 或 'D' 或 'C' 样例 2: 输入: "ABCD" and "EACB" 输出:
阅读全文
摘要:395. 硬币排成线 II 中文English 有 n 个不同价值的硬币排成一条线。两个参赛者轮流从 左边 依次拿走 1 或 2 个硬币,直到没有硬币为止。计算两个人分别拿到的硬币总价值,价值高的人获胜。 请判定 先手玩家 必胜还是必败? 若必胜, 返回 true, 否则返回 false. 样例 样
阅读全文
摘要:436. 最大正方形 中文English 在一个二维01矩阵中找到全为1的最大正方形, 返回它的面积. 样例 样例 1: 输入: [ [1, 0, 1, 0, 0], [1, 0, 1, 1, 1], [1, 1, 1, 1, 1], [1, 0, 0, 1, 0] ] 输出: 4 样例 2: 输入
阅读全文
摘要:257. 最长字符串链 中文English 给出一个单词列表,其中每个单词都由小写英文字母组成。如果我们可以在 word1 的任何地方添加一个字母使其变成 word2,那么我们认为 word1 是 word2 的前身。例如,"abc" 是 "abac" 的前身。词链是单词 [word_1, word
阅读全文
摘要:20. 骰子求和 中文English 扔 n 个骰子,向上面的数字之和为 S。给定 n,请列出所有可能的 S 值及其相应的概率。 样例 样例 1: 输入:n = 1 输出:[[1, 0.17], [2, 0.17], [3, 0.17], [4, 0.17], [5, 0.17], [6, 0.17
阅读全文
摘要:125. 背包问题 II 中文English 有 n 个物品和一个大小为 m 的背包. 给定数组 A 表示每个物品的大小和数组 V 表示每个物品的价值. 问最多能装入背包的总价值是多大? 样例 样例 1: 输入: m = 10, A = [2, 3, 5, 7], V = [1, 5, 2, 4]
阅读全文
摘要:92. 背包问题 中文English 在n个物品中挑选若干物品装入背包,最多能装多满?假设背包的大小为m,每个物品的大小为A[i] 样例 样例 1: 输入: [3,4,8,5], backpack size=10 输出: 9 样例 2: 输入: [2,3,5,7], backpack size=12
阅读全文
摘要:特征提取 描述 小明想从猫咪的视频里挖掘一些猫咪的运动信息。为了提取运动信息,他需要从视频的每一帧提取“猫咪特征”。一个猫咪特征是一个两维的vector<x, y>。如果x_1=x_2 and y_1=y_2,那么这俩是同一个特征。如果喵咪特征连续一致,可以认为喵咪在运动。也就是说,如果特征<a,
阅读全文
摘要:1503. 找零 中文English 某国的货币系统包含面值 11 元、44 元、1616 元、6464 元共 44 种硬币,以及面值 10241024 元的纸币。你现在使用 10241024 元的纸币购买了一件价值为 N, 0 < N <= 1024N,0<N<=1024 元的商品,请问最少会收到
阅读全文
摘要:1834. 分组选项 中文English 现在有nn个人在排成一排。他们必须从左到右分成连续的mm组。如果每个组的人数都必须大于等于其左边的组的人数,请问一共有多少种不同的分组方式。对于两个分组而言,当且仅当按递增序排列以后是不同的,他才是不同的分组。例如,[1, 1, 1, 3]和[1, 1, 1
阅读全文
摘要:394. 硬币排成线 中文English 有 n 个硬币排成一条线。两个参赛者轮流从右边依次拿走 1 或 2 个硬币,直到没有硬币为止。拿到最后一枚硬币的人获胜。 请判定 先手玩家 必胜还是必败? 若必胜, 返回 true, 否则返回 false. 样例 样例 1: 输入: 1 输出: true 样
阅读全文
摘要:437. 书籍复印 中文English 给定 n 本书, 第 i 本书的页数为 pages[i]. 现在有 k 个人来复印这些书籍, 而每个人只能复印编号连续的一段的书, 比如一个人可以复印 pages[0], pages[1], pages[2], 但是不可以只复印 pages[0], pages
阅读全文