按题目号来的。
3.Longest Substring Without Repeating Characters
- 自己实现是直接暴力搜索,运行时间超过要求。
- 程序解法中看不明白
last[s[i]] >= start
中s[i]
为字符型,为何可以放到last脚标里。答案是程序里字符存储的本来就是ASCII码。数值代表了其字符值。
4.Median of Two Sorted Arrays
- 关于const 和static
const:定义后便不可修改
static: static数据成员独立于该类的任意对象而存在,每个static数据成员是与类关联的对象,并不与该类对象关联 - 自己直接用归并排序,然后返回中间值。
*(iter+VectorA.size()或者一个整数)
这种用法表示偏移量是可以的。
5.Longest Palindromic Substring
大神用的动态规划法思路很清晰,代码实现也非常简洁明了, f(i,j) 表示 i,j 之间是否为回文字符串
f(i,j)=⎧⎩⎨trueS[i]=S[j]S[i]=S[j]andf[i+i,j−1],i=j,j=i+1,j>i+1
然后用二维数组实现,不用自己写的那么费事儿的需要注意判断边界条件。自己用的暴力搜索法,思路是从中心字符往两边延展判断。判断之前要以中心字符一样的字符,如
abccba
以中间cc为中心字符往两端延伸。