字符串
止于?
这个作者很懒,什么都没留下…
展开
-
394. 字符串解码
思路思路一:使用栈这种括号或者括号套括号的模式非常适合用栈来解决,设定一个辅助栈,当遇到’[‘的时候,开始将所有东西推到栈中,直到遇到’]‘时,开始取栈中的东西。取得方法:先取字符,再取数字,计算得到到的东西再压入栈中直到所有’]'都遍历完为止思路二:递归...原创 2020-06-30 08:42:10 · 3273 阅读 · 0 评论 -
5. 最长回文子串
题目分析回文串的特性:两侧对称相等,允许最中间不满足思路:动态规划。 d[i]表示字符串s第i个字符为结尾最大回文串,d[i]与d[i-1]有关系,其具体关系为:d[i]<=d[i-1]+1,如果d[i-1]对应的字符串远离d[i]的一侧与s[i]不相同,则只能在d[i-1]字符串内找起始点,如果满足起始点和终点相同,判断是否为回文串。class Solution { public String longestPalindrome(String s) { Strin原创 2020-06-25 13:08:45 · 121 阅读 · 0 评论 -
3. 无重复字符的最长子串
题目分析方法一:动态规划求数组的连续字串相关,第一反应应该是动态规划,其中状态d[i]表示以第i个字符为结尾,无重复字符串的最长字串,状态转移方程:d[i] = (s[i]是否与d[i-1]中的字符重复?找到重复的位置,d[i]等于两者相减:d[i-1]+1)问题一:如何判断是否重复?使用map或set问题二:如何找到重复的位置?使用map,其key = 字符,其value=位置。问题三:需要每个d[i]都配一个map吗?并不需要,一次遍历,判断d[i-1]的长度时候落在了当前重复字的区间原创 2020-06-24 10:44:09 · 98 阅读 · 0 评论