27-高效排序-希尔排序 12:54 28-折半查找 15:26 29-KMP算法 19:47 30-最大公共子串 13:24 31-最大公共子序列 15:02 32-韩信走马分油 18:41 33-迷宫问题 12:15 34-博弈问题-取球游戏 13:18 35-博弈问题-尼姆堆 10:03 36-博弈问题-平局处理 15:47 37-概率模拟 10:14 小白...
5. 最长回文子串 03:11 6. Z 字形变换 04:48 7. 整数反转 04:00 8. 字符串转换整数 (atoi) 05:07 9. 回文数 02:12 10. 正则表达式匹配 09:54 11. 盛最多水的容器 03:38 12. 整数转罗马数字 05:26 13. 罗马数字转整数 03:33 14. 最长公共前缀 02:48 15. 三数之和 06:...
可以想象成两个字符串分别由两个指针从前往后跑; i和 j 分别表示 s1[1~i] , s2[1~j] 字符串下标从1开始 所以f ( i, j ) 表示 s1 和 s2 两种状态下相同子序列的最大长度 **然后注意初始化,此时 f [ i ][ 0 ] 和 f [ 0 ][ j ] 应该都为 0, 因为字符串和 “空” 的子序列长度为 0...
最长公共子序列:给定一个序列X={x1,x2,x3...xm},另一个序列Z={z1,z2,z3...zk}满足如下条件时称为X的子序列,即存在一个严格递增的X的下标序列对所有j=1,2...k满足xi=zj。给定两个序列X,Y,如果既是X的子序列又是Y的子序列,那就称为X,Y的公共子序列。最长公共子序列就是所有子序列中最长的...
字符串转换整数 (atoi) 1 842. 将数组拆分成斐波那契序列 1 41. 缺失的第一个正数 1 704. 二分查找 1 128. 最长连续序列 1 814. 二叉树剪枝 1 剑指 Offer 33. 二叉搜索树的后序遍历序列 1 23. 合并K个排序链表 1 1. 两数之和 1 445...
因此对于n个输入数字而言,总的时间效率就是O(nlogk)。 我们可以选择用不同的二叉树来实现这个数据容器。由于我们每次都需要找到k个整数中的最大数字,我们很容易想到用最大堆。在最大堆中,根结点的值总是大于它的子树中任意结点的值。于是我们每次可以在O(1)得到已有的k个数字中的最大值,但需要O(log...
3.删除一个字符(如把“travelling”变为“traveling”)。 比如,对于“abcdefg”和“abcdef”两个字符串来说,我们认为可以通过增加/减少一个“g“的方式来达到目的。上面的两种方案,都仅需要一次操作。把这个操作所需要的次数定义为两个字符串的距离,给定任意两个字符串,你是否能写出一个算法来计算出它们的距离?
这个问题其实可以归结为寻找两个序列的最长公共子序列问题. 3.5 最短摘要生成问题 给定一段产品的英文描述,包含M个英文字母,每个英文单词以空格分隔,无其他标点符号;再给定N个英文单词关键字,请说明思路并编程实现方法String extractSummary(String description,String[] key words),目标是找出此产品描述中包含N个关键字...
视频链接:动态规划之子序列,还是为了编辑距离做铺垫 | LeetCode:583.两个字符串的删除操作_哔哩哔哩_bilibili 初始思路: dp[i][j] :word1遍历到i-1,word2遍历到j-1时,需要dp[i][j]步二者变为相同内容 递推公式: j == 1: word1[i - 1] == word2[j - 1]:dp[i][j] = dp[i - 1][j]...
3. Strassen 矩阵乘法4. 棋盘覆盖5. 合并排序6. 快速排序7. 线性时间选择8. 最接近点对问题9. 循环赛日程表 动态规划 1. 矩阵连乘问题2. 最长公共子序列3. 最大子段和4. 凸多边形最优三角剖分5. 多边形游戏6. 图像压缩7. 电路布线8. 流水作业调度9. 0-1 背包问题/背包九讲10. 最优二叉搜索树11....