剑指offer-leetcode-最大最小问题-思路篇
接
https://blog.****.net/MaYingColdPlay/article/details/105905939
1.无重复字符最长子串
双指针法,用一个left指针,指向最左边,一个cur指针,指向当前,记录两者之间的距离。
用一个列表来记录当前无重复字符。如果有重复的子串,移动left指针。
不用两个指针也可,直接用一个list来判断就行了。list+从左边pop出当前存在的。
2.最小路径和
思路:
拿例子来说,dp[2][2]=min(dp[2][1],dp[1][2])+grid[2][2],其中等式右边的dp也都是这么求的。
dp[1][2]=min(dp[1][1],dp[0][2])+grid[1][2] ...动态规划数学方程。
首先对dp赋初始值,初始值就是i=0和j=0的时候。
3.最长回文子串
思路:用一个dp来表示从i到j是否为回文子串,如果是回文子串,
判断是否为最大值,如果是最大值,记录当前的下标i和max_len,从s中进行索引。