随笔分类 -  动态规划

摘要:题目: 在计算机界中,我们总是追求用有限的资源获取最大的收益。 现在,假设你分别支配着 m 个 0 和 n 个 1。另外,还有一个仅包含 0 和 1 字符串的数组。 你的任务是使用给定的 m 个 0 和 n 个 1 ,找到能拼出存在于数组中的字符串的最大数量。每个 0 和 1 至多被使用一次。 注意 阅读全文
posted @ 2020-04-25 12:17 NeoZy 阅读(211) 评论(0) 推荐(0)
摘要:题目: 视频游戏“辐射4”中,任务“通向自由”要求玩家到达名为“Freedom Trail Ring”的金属表盘,并使用表盘拼写特定关键词才能开门。 给定一个字符串 ring,表示刻在外环上的编码;给定另一个字符串 key,表示需要拼写的关键词。您需要算出能够拼写关键词中所有字符的最少步数。 最初, 阅读全文
posted @ 2020-04-24 21:14 NeoZy 阅读(201) 评论(0) 推荐(0)
摘要:题目: 给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 示例 1:输入: 0 0 00 1 00 0 0输出: 0 0 00 1 00 0 0示例 2:输入: 0 0 00 1 01 1 1输出: 0 0 00 1 01 2 1注意: 给定矩阵 阅读全文
posted @ 2020-04-23 02:37 NeoZy 阅读(171) 评论(0) 推荐(0)
摘要:题目: 硬币。给定数量不限的硬币,币值为25分、10分、5分和1分,编写代码计算n分有几种表示法。(结果可能会很大,你需要将结果模上1000000007) 示例1: 输入: n = 5 输出:2 解释: 有两种方式可以凑成总金额:5=55=1+1+1+1+1示例2: 输入: n = 10 输出:4 阅读全文
posted @ 2020-04-08 01:24 NeoZy 阅读(268) 评论(0) 推荐(0)
摘要:题目: 把字符串 s 看作是“abcdefghijklmnopqrstuvwxyz”的无限环绕字符串,所以 s 看起来是这样的:"...zabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd....". 现在我们有了另一个字符串 p 。你需 阅读全文
posted @ 2020-03-20 13:07 NeoZy 阅读(247) 评论(0) 推荐(0)
摘要:题目: 在 "100 game" 这个游戏中,两名玩家轮流选择从 1 到 10 的任意整数,累计整数和,先使得累计整数和达到 100 的玩家,即为胜者。 如果我们将游戏规则改为 “玩家不能重复使用整数” 呢? 例如,两个玩家可以轮流从公共整数池中抽取从 1 到 15 的整数(不放回),直到累计整数和 阅读全文
posted @ 2020-03-17 15:52 NeoZy 阅读(289) 评论(0) 推荐(0)
摘要:413题目: 如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列。 例如,以下数列为等差数列: 1, 3, 5, 7, 97, 7, 7, 73, -1, -5, -9以下数列不是等差数列。 1, 1, 2, 5, 7 数组 A 包含 N 个数,且索引从0开始。数组 A 阅读全文
posted @ 2020-03-16 20:50 NeoZy 阅读(286) 评论(0) 推荐(0)
摘要:题目: 给定一个非负整数数组和一个整数 m,你需要将这个数组分成 m 个非空的连续子数组。设计一个算法使得这 m 个子数组各自和的最大值最小。 注意: 数组长度 n 满足以下条件: 1 ≤ n ≤ 1000 1 ≤ m ≤ min(50, n) 示例: 输入: nums = [7,2,5,10,8] 阅读全文
posted @ 2020-03-16 18:07 NeoZy 阅读(185) 评论(0) 推荐(0)
摘要:题目: 一只青蛙想要过河。 假定河流被等分为 x 个单元格,并且在每一个单元格内都有可能放有一石子(也有可能没有)。 青蛙可以跳上石头,但是不可以跳入水中。 给定石子的位置列表(用单元格序号升序表示), 请判定青蛙能否成功过河(即能否在最后一步跳至最后一个石子上)。 开始时, 青蛙默认已站在第一个石 阅读全文
posted @ 2020-03-14 13:59 NeoZy 阅读(249) 评论(0) 推荐(0)
摘要:39题目: 链接:https://leetcode-cn.com/problems/combination-sum/ 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字 阅读全文
posted @ 2020-02-28 16:25 NeoZy 阅读(655) 评论(0) 推荐(0)
摘要:题目: 链接:https://leetcode-cn.com/problems/guess-number-higher-or-lower-ii/ 我们正在玩一个猜数游戏,游戏规则如下: 我从 1 到 n 之间选择一个数字,你来猜我选了哪个数字。 每次你猜错了,我都会告诉你,我选的数字比你的大了或者小 阅读全文
posted @ 2020-02-28 02:34 NeoZy 阅读(320) 评论(0) 推荐(0)
摘要:304题目: 给定一个二维矩阵,计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下角为 (row2, col2)。 上图子矩阵左上角 (row1, col1) = (2, 1) ,右下角(row2, col2) = (4, 3),该子矩形内元素的总和为 8。 示例: 阅读全文
posted @ 2020-02-27 00:56 NeoZy 阅读(227) 评论(0) 推荐(0)
摘要:题目: 链接:https://leetcode-cn.com/problems/largest-divisible-subset/ 给出一个由无重复的正整数组成的集合,找出其中最大的整除子集,子集中任意一对 (Si,Sj) 都要满足:Si % Sj = 0 或 Sj % Si = 0。 如果有多个目 阅读全文
posted @ 2020-02-26 00:07 NeoZy 阅读(273) 评论(0) 推荐(0)
摘要:题目1 121. 买卖股票的最佳时机I: 链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/ 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票), 阅读全文
posted @ 2020-02-21 17:24 NeoZy 阅读(355) 评论(0) 推荐(0)
摘要:Q: 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。 返回符合要求的最少分割次数。 示例: 输入: “aab” 输出: 1 解释: 进行一次分割就可将 s 分割成 [“aa”,“b”] 这样两个回文子串。 A: 1.我最开始想到了要两次DP,先算一个是否是回文数的dp数组,再算所 阅读全文
posted @ 2020-02-18 22:11 NeoZy 阅读(285) 评论(0) 推荐(0)
摘要:Q: 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。 说明: 分隔时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1: 输入: s = “catsanddog” 阅读全文
posted @ 2020-02-18 20:55 NeoZy 阅读(210) 评论(0) 推荐(0)
摘要:Q: 一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由 M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。 骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立即死亡。 有些房间由恶 阅读全文
posted @ 2020-02-18 14:29 NeoZy 阅读(187) 评论(0) 推荐(0)
摘要:https://leetcode-cn.com/problems/generate-parentheses/ 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 例如,给出 n = 3,生成结果为: [ "((()))", "(()())", "(())()" 阅读全文
posted @ 2020-02-17 15:43 NeoZy 阅读(148) 评论(0) 推荐(0)
摘要:知道是DP,但就是找不到递推方程,只好拿递归做,从左遍历,遇到第一个匹配的开始对之后的两个字符串递归,复杂度应该是O(N!),指数级的,第51个用例过不去了。 DP[i] [j]表示由s的前i个元素组成的序列A中有多少由t前j个元素组成的序列B。 首先若s的前i-1序列包含t的前j序列,那么s的前i 阅读全文
posted @ 2019-08-07 00:47 NeoZy 阅读(130) 评论(0) 推荐(0)