![](https://img-blog.csdnimg.cn/20201208174716232.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
laowang的LeetCode之路
文章平均质量分 52
练练算法
今天要来电代码吗
What does not kill me, makes me stronger.
展开
-
LeetCode 1706.球会落在何处
LeetCode 1706.球会落在何处用一个大小为 m x n 的二维网格 grid 表示一个箱子。你有 n 颗球。箱子的顶部和底部都是开着的。箱子中的每个单元格都有一个对角线挡板,跨过单元格的两个角,可以将球导向左侧或者右侧。将球导向右侧的挡板跨过左上角和右下角,在网格中用 1 表示。将球导向左侧的挡板跨过右上角和左下角,在网格中用 -1 表示。在箱子每一列的顶端各放一颗球。每颗球都可能卡在箱子里或从底部掉出来。如果球恰好卡在两块挡板之间的 “V” 形图案,或者被一块挡导向到箱子的任意一侧边上原创 2021-03-26 22:37:37 · 168 阅读 · 0 评论 -
LeetCode 1105.填充书架
附近的家居城促销,你买回了一直心仪的可调节书架,打算把自己的书都整理到新的书架上。你把要摆放的书 books 都整理好,叠成一摞:从上往下,第 i 本书的厚度为 books[i][0],高度为 books[i][1]。按顺序 将这些书摆放到总宽度为 shelf_width 的书架上。先选几本书放在书架上(它们的厚度之和小于等于书架的宽度 shelf_width),然后再建一层书架。重复这个过程,直到把所有的书都放在书架上。需要注意的是,在上述过程的每个步骤中,摆放书的顺序与你整理好的顺序相同。 例如原创 2021-03-25 16:00:51 · 176 阅读 · 0 评论 -
LeetCode 467.环绕字符串中唯一的子字符串
LeetCode 467.环绕字符串中唯一的子字符串把字符串 s 看作是“abcdefghijklmnopqrstuvwxyz”的无限环绕字符串,所以 s 看起来是这样的:"…zabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd…"。现在我们有了另一个字符串 p 。你需要的是找出 s 中有多少个唯一的 p 的非空子串,尤其是当你的输入是字符串 p ,你需要输出字符串 s 中 p 的不同的非空子串的数目。注意: p 仅由小写的英文字母组成,p原创 2021-03-22 19:46:00 · 179 阅读 · 0 评论 -
LeetCode 1314.矩阵区域和
LeetCode 1314.矩阵区域和给你一个 m * n 的矩阵 mat 和一个整数 K ,请你返回一个矩阵 answer ,其中每个 answer[i][j] 是所有满足下述条件的元素 mat[r][c] 的和:i - K <= r <= i + K, j - K <= c <= j + K(r, c) 在矩阵内。示例 1:输入:mat = [[1,2,3],[4,5,6],[7,8,9]], K = 1输出:[[12,21,16],[27,45,33],[24,3原创 2021-03-20 20:57:48 · 143 阅读 · 0 评论 -
LeetCode 312.戳气球
LeetCode 312.戳气球有 n 个气球,编号为0 到 n - 1,每个气球上都标有一个数字,这些数字存在数组 nums 中。现在要求你戳破所有的气球。戳破第 i 个气球,你可以获得 nums[i - 1] * nums[i] * nums[i + 1] 枚硬币。 这里的 i - 1 和 i + 1 代表和 i 相邻的两个气球的序号。如果 i - 1或 i + 1 超出了数组的边界,那么就当它是一个数字为 1 的气球。求所能获得硬币的最大数量。示例 1:输入:nums = [3,1,5,8原创 2021-03-20 17:27:57 · 132 阅读 · 0 评论 -
LeetCode 1793.好子数组的最大分数
LeetCode 1793.好子数组的最大分数给你一个整数数组 nums (下标从 0 开始)和一个整数 k 。一个子数组 (i, j) 的 分数 定义为 min(nums[i], nums[i+1], …, nums[j]) * (j - i + 1) 。一个 好 子数组的两个端点下标需要满足 i <= k <= j 。请你返回 好子数组的最大可能 分数 。示例 1:输入:nums = [1,4,3,7,4,5], k = 3输出:15解释:最优子数组的左右端点下标是 (1,原创 2021-03-17 22:06:45 · 333 阅读 · 0 评论 -
LeetCode 1792.最大平均通过率
LeetCode 1792.最大平均通过率一所学校里有一些班级,每个班级里有一些学生,现在每个班都会进行一场期末考试。给你一个二维数组 classes ,其中 classes[i] = [passi, totali] ,表示你提前知道了第 i 个班级总共有 totali 个学生,其中只有 passi 个学生可以通过考试。给你一个整数 extraStudents ,表示额外有 extraStudents 个聪明的学生,他们 一定 能通过任何班级的期末考。你需要给这 extraStudents 个学生每人都原创 2021-03-15 21:44:32 · 302 阅读 · 0 评论 -
LeetCode 837.新21点
LeetCode 837.新21点爱丽丝参与一个大致基于纸牌游戏 “21点” 规则的游戏,描述如下:爱丽丝以 0 分开始,并在她的得分少于 K 分时抽取数字。 抽取时,她从 [1, W] 的范围中随机获得一个整数作为分数进行累计,其中 W 是整数。 每次抽取都是独立的,其结果具有相同的概率。当爱丽丝获得不少于 K 分时,她就停止抽取数字。 爱丽丝的分数不超过 N 的概率是多少?示例 1:输入:N = 10, K = 1, W = 10输出:1.00000说明:爱丽丝得到一张卡,然后停止。原创 2021-03-12 21:19:33 · 154 阅读 · 0 评论 -
LeetCode 651.四键键盘
LeetCode 651.四键键盘题目描述:假设你有一个特殊的键盘,上面只有四个键,它们分别是:A键:在屏幕上显示一个Actrl-A:选中整个屏幕ctrl-C:将选中的屏幕复制到缓冲区ctrl-V:将缓冲区的内容输出到光标所在的屏幕的位置代码如下:#include<iostream>#include<vector>using namespace std;int maxA(int n){ //A ctrl-A ctrl-C ctrl-V //当按A时,A原创 2021-03-12 18:50:24 · 639 阅读 · 0 评论 -
反转链表
反转一个单链表示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL方法一:递归class Solution {public: ListNode* reverseList(ListNode* head) { if(head == nullptr || head->next == nullptr){ return head;原创 2021-03-02 21:39:54 · 59 阅读 · 0 评论 -
LeetCode 5.最长回文子串 (动态规划、中心扩散)
LeetCode 5.最长回文子串给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。示例 2:输入:s = “cbbd”输出:“bb”示例 3:输入:s = “a”输出:“a”示例 4:输入:s = “ac”输出:“a”提示:1 <= s.length <= 1000s 仅由数字和英文字母(大写和/或小写)组成来源:力扣(LeetCode)链接:h原创 2021-03-01 21:35:53 · 94 阅读 · 0 评论 -
LeetCode 1202.交换字符串中的元素 C++
LeetCode 1202.交换字符串中的元素 C++给你一个字符串 s,以及该字符串中的一些「索引对」数组 pairs,其中 pairs[i] = [a, b] 表示字符串中的两个索引(编号从 0 开始)。你可以 任意多次交换 在 pairs 中任意一对索引处的字符。返回在经过若干次交换后,s 可以变成的按字典序最小的字符串。示例 1:输入:s = “dcab”, pairs = [[0,3],[1,2]]输出:“bacd”解释:交换 s[0] 和 s[3], s = “bcad”交换原创 2021-01-11 22:07:11 · 337 阅读 · 0 评论 -
LeetCode 752.打开转盘锁 BFS算法
LeetCode 752.打开转盘锁 BFS算法你有一个带有四个圆形拨轮的转盘锁。每个拨轮都有10个数字: ‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’ 。每个拨轮可以自由旋转:例如把 '9’变为 ‘0’,‘0’ 变为 ‘9’ 。每次旋转都只能旋转一个拨轮的一位数字。锁的初始数字为 ‘0000’ ,一个代表四个拨轮的数字的字符串。列表 deadends 包含了一组死亡数字,一旦拨轮的数字和列表里的任何一个元素相同,这个锁将会被永久锁定,无法再被原创 2021-01-10 22:28:28 · 123 阅读 · 0 评论 -
LeetCode 51.N皇后 回溯算法
n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。示例 1:输入:n = 4输出:[[".Q…","…Q",“Q…”,"…Q."],["…Q.",“Q…”,"…Q",".Q…"]]解释:如上图所示,4 皇后问题存在两个不同的解法。示例 2:输入:n = 1输出:[[“原创 2021-01-07 18:58:14 · 142 阅读 · 1 评论 -
LeetCode 787.K站中转内最便宜的航班
LeetCode 787.K站中转内最便宜的航班有 n 个城市通过 m 个航班连接。每个航班都从城市 u 开始,以价格 w 抵达 v。现在给定所有的城市和航班,以及出发城市 src 和目的地 dst,你的任务是找到从 src 到 dst 最多经过 k 站中转的最便宜的价格。 如果没有这样的路线,则输出 -1。示例 1:输入:n = 3, edges = [[0,1,100],[1,2,100],[0,2,500]]src = 0, dst = 2, k = 1输出: 200解释:城市航班原创 2021-01-06 18:47:51 · 305 阅读 · 0 评论 -
LeetCode 1711.大餐计数 C++/哈希表
LeetCode 1711.大餐计数大餐 是指 恰好包含两道不同餐品 的一餐,其美味程度之和等于 2 的幂。你可以搭配 任意 两道餐品做一顿大餐。给你一个整数数组 deliciousness ,其中 deliciousness[i] 是第 i 道餐品的美味程度,返回你可以用数组中的餐品做出的不同 大餐 的数量。结果需要对 10^9 + 7 取余。注意,只要餐品下标不同,就可以认为是不同的餐品,即便它们的美味程度相同。示例 1:输入:deliciousness = [原创 2021-01-04 15:19:54 · 234 阅读 · 0 评论 -
LeetCode 86.分隔链表 C++
LeetCode 86.分隔链表给你一个链表和一个特定值 x ,请你对链表进行分隔,使得所有小于 x 的节点都出现在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入:head = 1->4->3->2->5->2, x = 3输出:1->2->2->4->3->5来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/partition-list问题原创 2021-01-03 09:20:43 · 201 阅读 · 0 评论 -
判断是否是环形链表
给定一个链表,让我们判断是否是有环环形链表分析: 可以采用双指针的方法来进行判断,一个快指针,一个慢指针代码如下:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: bool ha原创 2021-01-02 15:56:22 · 1848 阅读 · 5 评论 -
LeetCode 435.无重叠区间
LeetCode 435.无重叠区间给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。注意:可以认为区间的终点总是大于它的起点。区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。示例 1:输入: [ [1,2], [2,3], [3,4], [1,3] ]输出: 1解释: 移除 [1,3] 后,剩下的区间没有重叠。示例 2:输入: [ [1,2], [1,2], [1,2] ]输出: 2解释: 你需要移除两个 [1,2] 来使剩下的区间没有原创 2021-01-01 20:36:09 · 77 阅读 · 0 评论 -
LeetCode 330.按要求补齐数组 C++
LeetCode 330.按要求补齐数组给定一个已排序的正整数数组 nums,和一个正整数 n 。从 [1, n] 区间内选取任意个数字补充到 nums 中,使得 [1, n] 区间内的任何数字都可以用 nums 中某几个数字的和来表示。请输出满足上述要求的最少需要补充的数字个数。示例 1:输入: nums = [1,3], n = 6输出: 1解释:根据 nums 里现有的组合 [1], [3], [1,3],可以得出 1, 3, 4。现在如果我们将 2 添加到 nums 中, 组合变为:原创 2020-12-29 20:57:12 · 443 阅读 · 2 评论 -
LeetCode 152.乘积最大子数组 C++
LeetCode 152.乘积最大子数组给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-p原创 2020-12-28 22:30:32 · 195 阅读 · 0 评论 -
LeetCode 730.统计不同回文子序列 C++
LeetCode 730.统计不同回文子序列给定一个字符串 S,找出 S 中不同的非空回文子序列个数,并返回该数字与 10^9 + 7 的模。通过从 S 中删除 0 个或多个字符来获得子序列。如果一个字符序列与它反转后的字符序列一致,那么它是回文字符序列。如果对于某个 i,A_i != B_i,那么 A_1, A_2, … 和 B_1, B_2, … 这两个字符序列是不同的。示例 1:输入:S = ‘bccb’输出:6解释:6 个不同的非空回文子字符序列分别为:‘b’, ‘c’, ‘原创 2020-12-27 21:46:33 · 254 阅读 · 0 评论 -
LeetCode 516.最长回文子序列 C++
LeetCode 516.最长回文子序列给定一个字符串 s ,找到其中最长的回文子序列,并返回该序列的长度。可以假设 s 的最大长度为 1000 。示例 1:输入: “bbbab”输出: 4一个可能的最长回文子序列为 “bbbb”。示例 2:输入: “cbbd”输出: 2一个可能的最长回文子序列为 “bb”。提示:1 <= s.length <= 1000s 只包含小写英文字母来源:力扣(LeetCode)链接:https://leetcode-原创 2020-12-27 21:03:14 · 559 阅读 · 0 评论 -
LeetCode 72.编辑距离
LeetCode 72.编辑距离给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例 1:输入:word1 = “horse”, word2 = “ros”输出:3解释:horse -> rorse (将 ‘h’ 替换为 ‘r’)rorse -> rose (删除 ‘r’)rose -> ros (删除 ‘e’)示例 2:输入:w原创 2020-12-27 20:02:02 · 121 阅读 · 0 评论 -
LeetCode 53.最大子序和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-subarray典型的动态规划,直接上代码了代码如下:class Solution {public: int maxSubArra原创 2020-12-26 16:38:59 · 74 阅读 · 0 评论 -
LeetCode 354.俄罗斯套娃信封问题
给定一些标记了宽度和高度的信封,宽度和高度以整数对形式 (w, h) 出现。当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。请计算最多能有多少个信封能组成一组“俄罗斯套娃”信封(即可以把一个信封放到另一个信封里面)。说明:不允许旋转信封。示例:输入: envelopes = [[5,4],[6,4],[6,7],[2,3]]输出: 3解释: 最多信封的个数为 3, 组合为: [2,3] => [5,4] => [6,7]。来源原创 2020-12-26 16:11:00 · 102 阅读 · 0 评论 -
LeetCode 316.去除重复字母(单调栈)
LeetCode 316.去除重复字母给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。注意:该题与 1081 https://leetcode-cn.com/problems/smallest-subsequence-of-distinct-characters 相同示例 1:输入:s = “bcabc”输出:“abc”示例 2:输入:s = “cbacdcbc”输出:“acdb”提示:1原创 2020-12-20 12:04:40 · 177 阅读 · 1 评论 -
LeetCode 48.旋转图像
LeetCode 48.旋转图像给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix =[[1,2,3],[4,5,6],[7,8,9]],原地旋转输入矩阵,使其变为:[[7,4,1],[8,5,2],[9,6,3]]示例 2:给定 matrix =[[ 5, 1, 9,11],[ 2, 4, 8,10],[1原创 2020-12-19 12:39:53 · 85 阅读 · 1 评论 -
LeetCode 389.找不同
LeetCode 389.找不同给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例 1:输入:s = “abcd”, t = “abcde”输出:“e”解释:‘e’ 是那个被添加的字母。示例 2:输入:s = “”, t = “y”输出:“y”示例 3:输入:s = “a”, t = “aa”输出:“a”示例 4:输入:s = “ae”, t = “aea”输出:“a原创 2020-12-18 12:06:27 · 119 阅读 · 0 评论 -
LeetCode 9.回文数
LeetCode 9.回文数判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。进阶:你能不将整数转为字符串来解决这个问题吗?来源:力扣(LeetCode)链接原创 2020-12-17 11:57:04 · 99 阅读 · 0 评论 -
LeetCode 714.买卖股票的最佳时机含手续费(动态规划)
LeetCode 714.买卖股票的最佳时机含手续费(动态规划)给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 ;非负整数 fee 代表了交易股票的手续费用。你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。返回获得利润的最大值。注意:这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。示例 1:输入: prices = [1, 3, 2, 8, 4, 9], fee原创 2020-12-17 11:19:48 · 366 阅读 · 0 评论 -
LeetCode 290.单词规律
LeetCode 290.单词规律给定一种规律pattern和一个字符串 str ,判断 str 是否遵循相同的规律。这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。示例1:输入: pattern = “abba”, str = “dog cat cat dog”输出: true示例 2:输入:pattern = “abba”, str = “dog cat cat fish”输出: false示例 3:原创 2020-12-16 17:23:35 · 115 阅读 · 0 评论 -
LeetCode 8.字符串转换整数(atoi)
LeetCode 8.字符串转换整数(atoi)请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。该字符串在有效的整数部分之后也可能会存在多余的字符,那么这些字符可以被忽略,它们对函数不应该造成影响。注原创 2020-12-15 15:54:07 · 59 阅读 · 1 评论 -
LeetCode 738.单调递增的数字
LeetCode 738.单调递增的数字给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。(当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。)示例 1:输入: N = 10输出: 9示例 2:输入: N = 1234输出: 1234示例 3:输入: N = 332输出: 299说明: N 是在 [0, 10^9] 范围内的一个整数来源:力扣(LeetCode)链原创 2020-12-15 09:21:35 · 197 阅读 · 0 评论 -
LeetCode 1690.石子游戏VII
LeetCode 1690.石子游戏VII问题描述:石子游戏中,爱丽丝和鲍勃轮流进行自己的回合,爱丽丝先开始 。有 n 块石子排成一排。每个玩家的回合中,可以从行中 移除 最左边的石头或最右边的石头,并获得与该行中剩余石头值之 和 相等的得分。当没有石头可移除时,得分较高者获胜。鲍勃发现他总是输掉游戏(可怜的鲍勃,他总是输),所以他决定尽力 减小得分的差值 。爱丽丝的目标是最大限度地 扩大得分的差值 。给你一个整数数组 stones ,其中 stones[i] 表示 从左边开始 的第 i 个石头的原创 2020-12-14 20:19:11 · 236 阅读 · 0 评论 -
LeetCode 7.整数翻转
LeetCode 7.整数翻转给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例三:输入: 123输出: 321示例二:输入: -123输出: -321示例三:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2^31, 2^31 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems原创 2020-12-14 16:40:14 · 76 阅读 · 0 评论 -
LeetCode 49.字母异位词分组
给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]输出:[[“ate”,“eat”,“tea”],[“nat”,“tan”],[“bat”]]说明:所有输入均为小写字母。不考虑答案输出的顺序。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/group-anagrams分析:采用hash表来进行原创 2020-12-14 09:40:53 · 112 阅读 · 0 评论 -
LeetCode 300.最长上升子序列
LeetCode 300.最长上升子序列给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为 O(n2) 。进阶: 你能将算法的时间复杂度降低到 O(n log n) 吗?来源:力扣(LeetCode)链接:https://leetcode-cn.com/pro原创 2020-12-10 19:34:39 · 51 阅读 · 1 评论 -
LeetCode 842.将数组拆分成斐波那契数列
给定一个数字字符串 S,比如 S = “123456579”,我们可以将它分成斐波那契式的序列 [123, 456, 579]。形式上,斐波那契式序列是一个非负整数列表 F,且满足:0 <= F[i] <= 2^31 - 1,(也就是说,每个整数都符合 32 位有符号整数类型);F.length >= 3;对于所有的0 <= i < F.length - 2,都有 F[i] + F[i+1] = F[i+2] 成立。另外,请注意,将字符串拆分成小块时,每个块的数字一定原创 2020-12-08 20:17:48 · 245 阅读 · 0 评论 -
LeetCode 1143.最长公共子序列
题目描述:给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。若这两个字符串没有公共子序列,则返回 0。示例 1:输入:text1 = “abcde”, text2 =原创 2020-12-08 17:45:24 · 97 阅读 · 0 评论