【文件属性】:
文件名称:leetcode和oj-leetcode:leetcode
文件大小:1.9MB
文件格式:ZIP
更新时间:2021-06-30 02:51:30
系统开源
leetcode
和
oj
leetcode
[TOC]
1.
Two
sum
使用
hash
表来记录已经存储的数据,新来的数据与
target
做差,判断是否在
hash
表中存在
3.
无重复字符的最长子串
这道题目可以使用
128
位的数组来表示所有字符。开始每个字符都初始化为-1
然后这道题目其实是维护一个滑动窗口。滑动窗口左边界是
left,右边界是当前访问的数组下标。
left
的更新策略是:
left
=
max(left,
dp[s[i]]);
也就是如果一直没有被访问过重复字符,那么
left
一直维持在-1;窗口的长度就是当前下标减去
left.
然后如果出现了重复字符,那么
left
就立刻更新到之前出现的位置。
注意
dp[]数组也在不断更新,保存的是上一次出现的位置,用于如果出现了重复,可以把滑动窗口左边界拉过来。
4.
寻找两个有序数组的中位数
这道题让我们求两个有序数组的中位数,而且限制了时间复杂度为
O(log
(m+n)),看到这个时间复杂度,自然而然的想到了应该使用二分查找法来求解。但是这道题被定义为
Hard
也是有其原因的,难就难在要在两个未合