1 - 100

26. 删除有序数组中的重复项

后面的数等于前面的就continue,不等就赋给pre,pre++

25. K 个一组翻转链表

迭代

24. 两两交换链表中的节点

迭代/递归

23. 合并K个升序链表

思路1

按合并两个有序链表一轮一轮比对

思路2

将合并两个有序链表作为方法,顺序merge

思路3

两两合并 logK的方法,仔细处理n对折。

22. 括号生成

思路
  • 使用dfs生成。

注意的点

  • 结束条件写在最前面
  • 接下来是剪枝条件
  • 左括号和右括号顺序if。注意参数不能上下影响

21. 合并两个有序链表

思路
  • 简单题,正常思路下来就可

18. 四数之和

思路
  • 三数之和再加一层for循环,使用continue处理前两个循环的重复问题,使用whle处理left right 重复问题,最后记得left++ right--

17. 电话号码的字母组合

思路1
  • 使用map,递归传入str,以(“”,0)开始。index == digits.size()结束。
思路2
  • map存数字和字符串的pair,将一个数字的字符串全push,通过q.size()确定循环次数

14. 最长公共前缀

思路1 横向比对

比对相邻两个单词的各个字符,截取最长公共前缀与接下来那个比。(感觉可以用递归来做)

思路2 纵向比对

比对字符串数组中各个单词的第一个第二个……字符,直到某一位不同

面试题 17.21. 直方图的水量

思路1
  • 动态规划,左值,dp1存左侧往右能接的水量,右值,dp2存右侧往左能接的水量。取dp1.dp2的最小值为该下标的真实水量
思路2
  • 单调栈,

15. 三数之和

思路
  • 排序定第一个i,后面使用left right移动双指针判断和是否为0
值得注意的地方
  • 在去重问题上把边界条件放在nums[left] = nums[left + 1]
  • 把去重移动放在达成==0条件的那个区域里

13. 罗马数字转整数

我的思路
  • 用一个hashmap保存每一种罗马数和整数的对,在一次循环中查找是两个还是一个。优先查两个的。然后再把对应数相加。
改进思路
  • 依然是使用哈希表,为了解决条件判断语句(两个还是一个的问题),将s中的两位罗马数字替换("IV"换成"a"等等).

大佬思路

  • 把一个小值例如I放在大值V的左边,就是做减法,否则为加法.另外,把由罗马数字获取数字封装为一个函数,使用switch.

12. 整数转罗马数字

思路
  • 对罗马数编码,贪心减去最大的数。能减完1000就减完1000再减900.

11. 盛最多水的容器

难点
  • 使用双指针,长边缩进只会减少蓄水的容量,只有短边缩进(替换为长边)才会有可能增加容量。所以只要尝试缩进短边使用max就可

10. 正则表达式匹配

思路
  • *字符后的匹配情况分析
    1)sa s*a 匹配对角线
    2)s a 匹配0个 为左侧状态
    3)saa s
    a 匹配重复 为上方状态

9. 回文数

思路1
  • 左右向中间移位1,比较每一位是否相等。(需要求解位数)
思路2
  • 将原数组后半部分模拟成前半部分,处理一半长度。

6. Z 字形变换

我的思路
  • 使用数学方法,将每一行与首列及numsrow的关系列清楚,再按行计算。
题解思路
  • 使用string列表记录每一行的str,使用flag控制列表下标的方向转换。

5. 最长回文子串

思路1
  • 动态规划,转移方程:dp[i][j] = (s[i] == s[j]) && ((j - i) < 3 || dp[i + 1][j - 1])
思路2
  • 使用中心扩散的方法,针对回文串为奇数或偶数,基于 (i,i)和(i, i + 1)向两边扩散

4. 寻找两个正序数组的中位数

思路1
  • 比较两个正序数组中下标为[index + k / 2 - 1]的元素大小,去除较小元素及其左侧元素,以k / 2的速度接近中位数
    这个方法可以用于获得两个正序数组中第k个元素
需要注意的地方
  • k代表个数,而非下标
  • 使用左侧向右延展k / 2的方式,注意越界情况
思路2
  • 中位数满足条件——一条割线的两侧满足交叉小于等于&& 左侧元素个数==右侧元素个数(+1 分奇偶)
    有时间复杂度O(log min(m,n)),在较短的那个数组上进行二分查找。

1. 两数之和

思路:哈希表

使用哈希表记录需要匹配的数和数组下标

2. 两数相加

难点:
  • 使用l1 || l2 || add作为循环条件,在循环里判断链表是否为空

3. 无重复字符的最长子串

思路:滑动窗口

取一个遍历的右指针,一个位于重复元素右侧第一位的左指针,求两指针之间的最大值。

难点

1.如何记录重复字符?

  • 使用字符哈希数组记录字符的下标,未重复使用-1作为val

2.如何找到重复元素的下标?

  • 使用字符哈希数组与left值作比较,大于等于left值则重复了,被记录了一次过了。

3.使用下标作为val而非(0/1)确定是否重复,免去了查找重复元素的过程。

知识点:

1.字符哈希数组的使用
2.memset

4. 寻找两个正序数组的中位数

1.拼接两个数组并找到中位数

相关题目:
35.二分搜索

7. 整数反转

难点

如何判断溢出情况?

  • 输入是十进制的数,所以需满足两个判断条件
    1.最后一轮是否大于INT_MAX / 10或者小于INT_MIN / 10
    2.在等于的情况下,需要判断最后一位
  • 过程是在单while循环中实时模拟的方法
需要解释的地方

讨论一下输入的第一位
以256为例
输入反转后的257/258/259都是溢出的,但是752、852、952均不可能作为输入(>256),所以不需要判断等于的情况
以856为例
输入反转后的857/858/859均是溢出的,且758可以作为输入(<856),所以要讨论758这个数的第一位(while的最后一次循环)是否大于MAX的最后一位6

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351

推荐阅读更多精彩内容