![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
字符串
weixin_39137699
阳光,热情,幽默
展开
-
leetcode 1392 最长快乐前缀
起因,这是某一次周赛的最后一题,不会,后来了解到是利用kmp的next数组.「快乐前缀」是在原字符串中既是非空 前缀也是后缀(不包括原字符串自身)的字符串。给你一个字符串 s,请你返回它的 最长快乐前缀。如果不存在满足题意的前缀,则返回一个空字符串。示例 1:输入:s = "level"输出:"l"解释:不包括 s 自己,一共有 4 个前缀("l", "le", "...原创 2020-03-31 15:10:50 · 243 阅读 · 0 评论 -
KMP算法
最近复习了以下KMP算法先把网上我认为2篇好文章分享出来:孤~影博客专家我先用大致代码实现介绍:这是KMP主体实现的部分,大逻辑。意思就是原先暴力匹配的过程中,主串回退,子串也回退,浪费了很多时间。KMP匹配的过程就是主串和子串匹配就双索引往后移,若不匹配,只移动子串,而不移动主串。这样大大减少了重复匹配的情况。怎么只移动子串,答案就在于主串和子串失败的地方,子串回到一个当前子串失配...原创 2020-03-02 19:20:54 · 116 阅读 · 0 评论 -
leetcode 8 字符串转换成整数
请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽...原创 2019-11-27 15:25:01 · 42 阅读 · 0 评论 -
leetcode 71简化路径
以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (..)表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs 相对路径请注意,返回的规范路径必须始终以斜杠 / 开头,并且两个目录名之间必须只有...原创 2019-11-27 14:38:20 · 68 阅读 · 0 评论 -
leetcode28实现strStr
实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll”输出: 2示例 2:输入: haystack = “aaaaa”, needle = “bba...原创 2019-11-27 10:42:00 · 85 阅读 · 0 评论 -
leetcode 38报数
报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1112112111112211 被读作 “one 1” (“一个一”) , 即 11。11 被读作 “two 1s” (“两个一”), 即 21。21 被读作 “one 2”, “one 1” (“一个二” , “一个一”) , 即 1211。给定一个正整...原创 2019-11-26 22:06:02 · 75 阅读 · 0 评论 -
leetcode 833. 字符串中的查找与替换
对于某些字符串 S,我们将执行一些替换操作,用新的字母组替换原有的字母组(不一定大小相同)。每个替换操作具有 3 个参数:起始索引 i,源字 x 和目标字 y。规则是如果 x 从原始字符串 S 中的位置 i 开始,那么我们将用 y 替换出现的 x。如果没有,我们什么都不做。举个例子,如果我们有 S = “abcd” 并且我们有一些替换操作 i = 2,x = “cd”,y = “ffff”,那...原创 2019-11-12 16:18:43 · 139 阅读 · 0 评论 -
leetcode 5最长回文子串
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”思路:中心扩散法,即分奇数和偶数扩展,每次扩散都比较最长回文子串,和记录最大值。for(int i = 0;i<len;i++){从i开始的奇数扩散...原创 2019-10-31 23:19:17 · 58 阅读 · 0 评论 -
leetcode3 无重复字符的最长的子串
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。思路:基于Map的滑动窗口非常能处理“dvdf”, 当dv进入Map, 再进d时,移除窗口前面的d,变成vd,这样就能更新成vdf。非常高效。class Solution { public int ...原创 2019-10-29 11:05:53 · 67 阅读 · 0 评论 -
Leetcode516. 最长回文子序列
给定一个字符串s,找到其中最长的回文子序列。可以假设s的最大长度为1000。示例 1:输入:"bbbab"输出:4一个可能的最长回文子序列为 "bbbb"。示例 2:输入:"cbbd"输出:2一个可能的最长回文子序列为 "bb"。思路:动态规划。对问题的解决其实就是,把一个大问题分解成一个个小问题,这好像就是计算机较为普遍的解决办法。也是人脑的思考方向...原创 2019-06-23 15:40:56 · 463 阅读 · 0 评论 -
LCS问题Leetcode583,712
LCS问题,关于字符串下的,最长公共子序列。最长公共子串(Longest Common Substirng)和最长公共子序列(Longest Common Subsequence,LCS)的区别为:子串是串的一个连续的部分,子序列则是从不改变序列的顺序,而从序列中去掉任意的元素而获得新的序列;也就是说,子串中字符的位置必须是连续的,子序列则可以不必连续。原先的思路是用动态规划去做。...原创 2019-06-23 12:53:36 · 435 阅读 · 0 评论 -
LeetCode300最长上升子序列
给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是[2,3,7,101],它的长度是 4。1.动态规划,时间复杂度O(n^2).思路 : 状态: dp[i]代表当前到i为止,以i结尾的最长子序列的长度。用一个整数表示。 递推方程: d...原创 2019-06-22 21:18:30 · 144 阅读 · 0 评论 -
leetcode:14最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例1:输入: ["flower","flow","flight"]输出: "fl"示例2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。之前思路是,觉得拿一个字符串,去匹配一个个剩下字符串很麻烦,中间需要考虑的情况很多,写起...翻译 2019-05-27 20:35:26 · 70 阅读 · 0 评论