摘要:地址 https://leetcode-cn.com/problems/minimum-window-substring/ 给你一个字符串 s 、一个字符串 t 。 返回 s 中涵盖 t 所有字符的最小子串。 如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 注意: 对于 t 中
阅读全文
摘要:地址 https://leetcode-cn.com/problems/sort-colors/ 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序, 使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。
阅读全文
摘要:地址 https://leetcode-cn.com/problems/edit-distance/ 给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 示例 1
阅读全文
摘要:地址 https://www.papamelon.com/problem/352 解答 由于已经确定是2排待填充的地板,那么填充方法就是两种 如图 又已知待填充的地板长度为n,题意可以转换为 要么选择1个竖方案填充要么选择2个横方案 ,问有达到长度n有多少种选择。 再推断一步 使用1代替1个竖砖块方
阅读全文
摘要:地址 https://www.papamelon.com/problem/321 解答 首先是尝试把该问题转化成蒙德里安的梦想那道题,但是由于复杂度是2n*2n,当n为15的时候就超时了。 后面改成了记忆化搜索.可以去掉一些不可能达到的状态搜索,OK了。 大概这就是记忆化搜索相对直接递推DP公式的优
阅读全文
摘要:地址 https://leetcode-cn.com/problems/longest-valid-parentheses/ 给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度。 示例 1: 输入:s = "(()" 输出:2 解释:最长有效括号子串是 "()
阅读全文
摘要:地址 https://www.papamelon.com/problem/318 按照题意的 dp[n]=dp[n-1]+dp[n-2] 可以得到正确答案,但是n为10^16 该算法复杂度为 O(n) 会TLE 根据矩阵相乘的知识可以得到 |Fn+2| = |1 1||Fn+1| |Fn+1| =
阅读全文
摘要:地址 https://www.papamelon.com/problem/260 贪心方法不对。 本体属于二分章节 尝试下将选择K个物品的重量价值比控制在X内 (V1+V2+V3+......+Vi) / (W1+W2+W3+......+Wi) = x 也就是 ∑Vi/ ∑Wi = x 该不等式转
阅读全文
摘要:地址 https://www.papamelon.com/problem/257 二分查找模板题 二分有两个模板 一个是找到符合查询数字的下边界<= 一个是找到符合查询数字的上边界>= 记熟会方便很多. 本题是查找第一个大于等于k的数字 是下边界 #include <iostream> using
阅读全文
摘要:地址 https://www.papamelon.com/problem/327 由于题目有两个排序关键字长度和重量,只有两个均大于等于前一个才能达到最小费用 先尝试按照某一个关键字排序 例子中的 4 5 2 3 1 9 2 1 5 4 排序后就变成 1 2 3 4 5 4 1 5 9 2 这时候我
阅读全文
摘要:地址 https://www.papamelon.com/problem/328 解答 以6个接口为例 左端 1 2 3 4 5 6端口对应 右端 4 2 6 3 1 5 端口 如图 左1连接的是右5 如果选择这条接线 那么左端其他接口就不能连接右端5以前的接口了,否则就会接线交叉。 按照这个规则,
阅读全文