数据结构与算法面试题
当胖友准备开始准备算法相关的面试,就要做好心理准备,这可能是比想象中痛苦的过程,并且时间还不短,少则三个月,半年也是比较正常的时间。
不过艿艿觉得,随着现在互联网越来越朝着精英化发展,对学历对履历的要求越来越高,大公司甚至部分小公司,也愈发注重基础技术。而基础技术,无非考核两点,编程语言和算法。所以,这个过程,可能真的是我们必须去体验的。
不过换过来思考,算法不会像我们学习的框架或者中间件,有过时一说。也就说,学习一次,终身受众。并且,相比大多数 CRUD 的无脑,撩撩算法,也是一种“放松”,哈哈哈哈。
如何学习?
可能很多同学,一说到算法面试的准备,就想到的是去 LeetCode 去刷题?!但是,这个真的正确么?一半一半。相信绝大多数胖友,在大学里是没有认真学习算法,又或者在工作中,因为应用较少,所以基本忘记的也差不多了。
那么,就必须重新学习下算法!请不要上来就去 LeetCode 去刷题,简直是花样作死。算法准备,是一场持久战,需要系统的去准备。那么,怎么进行学习呢?
讲真,市面上大多数算法,无论是书籍,还是视频,真的真的真的是看不下去啊看不下去。有握爪的胖友么?最近,刷了王争的 《数据结构与算法之美》 ,哈哈哈,还很认真的做了笔记。如下图:
艿艿,利益无关,主要是自己看了,真的觉得不错,足够适合我们准备算法面试。如果想要挑战,请去看 《数据结构与算法分析:Java语言描述》 等等。呵,等着胖友回来说,“奶奶,我错了~~~😿” 哈哈哈哈。
但是,还是要打个预防针,即使艿艿推荐了 《数据结构与算法之美》 这个教程,也并不意味着它很简单。它还是非常难的,特别是红黑树!简直是魔鬼啊!!!仅仅是说,它足够能够让艿艿看完,并且蛮多时候在地铁上就能耐心看完。嘻嘻,不过呢,我有 2 年 ACM 集训的经验,可能底子又比大多数同学好点。对于 《数据结构与算法分析:Java语言描述》 来说,在地铁上,真的是分分钟趟睡,又或是拿出手机,刷刷刷。
胖友,要拿出勇气!如果碰到困难的,就退缩,就不要准备算法面试,不要想着去大公司。想啥呢!对吧。
如何练习?
三分学,七分练。用在算法面试的准备中,非常适合。哈哈哈,在算法面试的准备中,真正占用时间的是,不是算法的学习,而是在算法的练习中。这个过程,比学习算法会更加痛苦和难受。但是,也只有经历了练习的过程,学习算法,才可能真正变成学会算法。
就好比说,我们学习了数学的某个知识点,直接去考试,绝大数情况下,可能是直接懵逼。同理,切换到真正去公司面试时,考到具体的算法题目,肯定也是类似的情况。所以,一定要勤加练习,死磕练习,玩命练习。
那么,如何练习算法呢?答案很简单,去刷 LeetCode 。比较幸运的是,目前 LeetCode 有国内的版本,可以访问 https://leetcode-cn.com/ 进行愉快的玩耍,照顾我们这些英语不好的孩子。LeetCode 本土化的名字,真的是堪比麦丹劳的“金拱门”,竟然见“力扣”,哈哈哈哈。
不过,怎么刷 LeetCode 呢?毕竟 LeetCode 已经进入千题时代,想要全部做完,肯定是不太现实,即使时间允许,我们的实力也不允许,哈哈哈哈。推荐看看 《花花酱 LeetCode进入千题时代后该如何刷题?》 。可以开倍速播放,比较核心的,就是下面这张图:
即使如此,可能对于基础相对薄弱的,或者之前没啥刷题经验的胖友,直接上来就刷 LeetCode 题目,特别是一些困难级别的题目,可能简直是进了地狱模式的游戏难度,挫败感 120 分的强烈。那么怎么办呢?马化腾爸爸,很早就告诉了我们残酷的真理,“不充钱,怎么变强!”。所以,我们可能需要看一些针对 LeetCode 出的刷题面试视频课程:
-
左神 《牛客算法系列》
貌似不是针对 LeetCode 课程的,主要是牛逼,所以放这里。
-
小象学院 《面试算法 LeetCode 刷题班》
-
拉钩网和 LeetCode 联合处的课程。
艿艿的话,自己刷的是,覃超 《算法面试通关 40 讲》 。并且,还是老样子,认真做了笔记,如下图:
题外话,因为艿艿自己不准备面试,所以一般是不会去看算法。但是考虑到,这篇文章,蛮多人催的,所以自己又看了蛮多的资料的。就冲这份良心,我都给自己打 120 分。
另外,市面上也有一些讲面试算法的书,这里也补充整理下,直接放下面:
-
左神 《程序员代码面试指南:IT 名企算法与数据结构题目最优解(第二版)》
豆瓣评分 8.9 分,以面试视角的算法书。
-
豆瓣评分 9.1 分,也讲了面试中的算法,同时也介绍了其它的。
-
豆瓣评分 8.3 分,3000 多人评价,还是一本面试相关的算法书籍。主要是,大多数胖友学习算法是为了解决面试,所以就多推荐一点啦。
考虑到大多数胖友,都是在职为主的,可以直接考虑 《算法面试通关 40 讲》 。主要原因,还是因为我目前暂时只看完了这套教程。后续,我也抽时间看看,左神和小象学院的视频,良心如我。
哪些题目?
正如我们在 《花花酱 LeetCode进入千题时代后该如何刷题?》 看到的视频,我们需要每个类型的 10-20 题,所以我们需要知道,算法面试,主要有哪些题型,每个题型刷哪些题目。
题型来说,我们可以按照数据结构与算法分别分类:
整理题型和题库时,按照自己的想法,并且参考下面的资料:
- LeetCode ,提供了每道题所属的题型,很赞!
- 数据结构与算法之美
- 算法面试通关 40 讲
- 花花酱 LeetCode 题目分类
- CS-Notes
- LeetCode 详解
- AlgoCasts
-
数据结构
-
数组
矩阵,本质是二维数组。有些文章会喜欢归类成“数组与矩阵”,是一个意思。
-
链表
-
栈和队列
-
字符串
-
哈希表(散列表)
-
树
-
堆
-
图
-
-
算法
- 双指针
- 排序
- 二分查找
- 深度优先搜索
- 广度优先搜索
- 拓扑排序
- 并查集
- 分治算法
- 回溯算法
- 贪心算法
- 动态规划
- 位运算
- 数学
下面,按照这个分类,逐个来看看,需要做哪些题目。
友情提示:题目的顺序,主要按照王争老师的 《数据结构与算法之美》 为主。主要考虑点,是艿艿是按照这个顺序复习的,哈哈哈哈。
注意:每个下面的每个解答后面,每个 Solution 类,都对应一个解决方式。另外,一些题目,可能存在多解。建议的话,都去理解掉,因为面试官可能刨根问底。
😈 嘿嘿,发现自己撸了快 300 题 leetcode 左右,所以体量还是比较大的。艿艿尽量参考 LeetCode 提供的「🔥热题 HOT 100 」、「精选 TOP 面试题」,进行下标记。
刷题很累,多多坚持!
数组
【双指针】,一般用于数组的解题中。所以它的题目,我们也会放在【数组】这个题型中,也就是当前小节。通过双指针,可以将一些时间复杂度为 O(N^2) 的解法,进行优化成 O(N) 。
因为把【数组】和【双指针】放在了一起,所以题目可能蛮多的。保持淡定,相比动态规划等题目,这两类算比较简单的。
001. 两数之和
- 题目:https://leetcode-cn.com/problems/two-sum/
- 难度:简单
- 解答:no0001
👉 相似题目:167. 两数之和 II - 输入有序数组
- 题目:https://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted/
- 难度:简单
- 解答:no0167
👉 相似题目:015. 三数之和
- 题目:https://leetcode-cn.com/problems/3sum/
- 难度:中等
- 解答:no0015
👉 相似题目:016. 最接近的三数之和
- 题目:https://leetcode-cn.com/problems/3sum-closest/
- 难度:中等
- 解答:no0016
👉 相似题目:018. 四数之和
- 题目:https://leetcode-cn.com/problems/4sum/
- 难度:中等
- 解答:no0018
👉 相似题目:454. 四数相加 II
- 题目:https://leetcode-cn.com/problems/4sum/
- 难度:中等
- 解答:no0454
👉 相似题目:633. 平方数之和
- 题目:https://leetcode-cn.com/problems/sum-of-square-numbers/
- 难度:简单
- 解答:no0633
011. 盛最多水的容器
- 题目:https://leetcode-cn.com/problems/container-with-most-water/
- 难度:中等
- 解答:no0011
👉 相似题目:042. 接雨水
- 题目:https://leetcode-cn.com/problems/trapping-rain-water/
- 难度:困难
- 解答:no0042
283. 移动零
- 题目:https://leetcode-cn.com/problems/move-zeroes/description/
- 难度:简单
- 解答:no0283
👉 相似题目:027. 移除元素
- 题目:https://leetcode-cn.com/problems/remove-element/
- 难度:简单
- 解答:no0027
👉 相似题目:026. 删除排序数组中的重复项
- 题目:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/
- 难度:简单
- 解答:no0026
👉 相似题目:080. 删除排序数组中的重复项 II
- 题目:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array-ii/
- 难度:中等
- 解答:no0080
485. 最大连续 1 的个数
- 题目:https://leetcode-cn.com/problems/max-consecutive-ones/
- 难度:简单
- 解答:no0485
645. 错误的集合
- 题目:https://leetcode-cn.com/problems/set-mismatch/
- 难度:简单
- 解答:no0645
👉 相似题目:448. 找到所有数组中消失的数字
- 题目:https://leetcode-cn.com/problems/find-all-numbers-disappeared-in-an-array/
- 难度:简单
- 解答:no0448
👉 相似题目:442. 找到所有数组中消失的数字
- 题目:https://leetcode-cn.com/problems/find-all-duplicates-in-an-array/
- 难度:中等
- 解答:no0442
667. 优美的排列 II
- 题目:https://leetcode-cn.com/problems/beautiful-arrangement-ii/
- 难度:中等
- 解答:no0667
- 备注:找规律,更像一个【数学题】。
697. 数组的度
- 题目:https://leetcode-cn.com/problems/degree-of-an-array/
- 难度:简单
- 解答:no0697
565. 嵌套数组
- 题目:https://leetcode-cn.com/problems/array-nesting/
- 难度:中等
- 解答:no0565
769. 最多能完成排序的块
- 题目:https://leetcode-cn.com/problems/max-chunks-to-make-sorted/
- 难度:中等
- 解答:no0769
- 备注:找规律,更像一个【数学题】。
👉 相似题目:768. 最多能完成排序的块 II
- 题目:https://leetcode-cn.com/problems/max-chunks-to-make-sorted-ii/
- 难度:困难
- 解答:no0768
977. 有序数组的平方
- 题目:https://leetcode-cn.com/problems/squares-of-a-sorted-array/
- 难度:简单
- 解答:no0997
118. 杨辉三角
- 题目:https://leetcode-cn.com/problems/pascals-triangle/
- 难度:简单
- 解答:no0118
👉 相似题目:119. 杨辉三角 II
- 题目:https://leetcode-cn.com/problems/pascals-triangle-ii/
- 难度:简单
- 解答:no0119
189. 旋转数组
- 题目:https://leetcode-cn.com/problems/rotate-array/
- 难度:简单
- 解答:no0189
238. 除自身以外数组的乘积
- 题目:https://leetcode-cn.com/problems/product-of-array-except-self/
- 难度:中等
- 解答:no0238
矩阵
766. 托普利茨矩阵
- 题目:https://leetcode-cn.com/problems/toeplitz-matrix/
- 难度:简单
- 解答:no0766
566. 重塑矩阵
- 题目:https://leetcode-cn.com/problems/reshape-the-matrix/
- 难度:简单
- 解答:no0566
074. 搜索二维矩阵
- 题目:https://leetcode-cn.com/problems/search-a-2d-matrix/
- 难度:中等
- 解答:no0074
240. 搜索二维矩阵 II
- 题目:https://leetcode-cn.com/problems/search-a-2d-matrix-ii/
- 难度:中等
- 解答:no0240
054. 螺旋矩阵
- 题目:https://leetcode-cn.com/problems/spiral-matrix/
- 难度:中等
- 解答:no0054
073. 矩阵置零
- 题目:https://leetcode-cn.com/problems/set-matrix-zeroes/
- 难度:中等
- 解答:no0073
字符串
028. 实现 strStr()
- 题目:https://leetcode-cn.com/problems/implement-strstr/
- 难度:简单
- 解答:no0028
242. 有效的字母异位词
- 题目:https://leetcode-cn.com/problems/valid-anagram/
- 难度:简单
- 解答:no0242
👉 相似题目:049. 字母异位词分组
- 题目:https://leetcode-cn.com/problems/group-anagrams/
- 难度:中等
- 解答:no0049
205. 字符串同构
- 题目:https://leetcode-cn.com/problems/isomorphic-strings/
- 难度:简单
- 解答:no0205
125. 验证回文串
- 题目:https://leetcode-cn.com/problems/valid-palindrome/
- 难度:简单
- 解答:no0125
👉 相似题目:680. 验证回文字符串 Ⅱ
- 题目:https://leetcode-cn.com/problems/valid-palindrome-ii/
- 难度:简单
- 解答:no0680
👉 相似题目:409. 最长回文串
- 题目:https://leetcode-cn.com/problems/longest-palindrome/
- 难度:简单
- 解答:no0409
👉 相似题目:009. 判断一个整数是否是回文数
- 题目:https://leetcode-cn.com/problems/palindrome-number/
- 难度:简单
- 解答:no0009
344. 反转字符串
- 题目:https://leetcode-cn.com/problems/reverse-string/
- 难度:简单
- 解答:no0344
👉 相似题目:345. 反转字符串中的元音字母
艿艿:这道题目,刚一看,一脸懵逼。可以简单理解成,需要将元音字母之间,做兑换。例如说,第一个元音字符和倒数一个元音字符对换,第二个原因字符和倒数第二个元音字符对换。而元音字母是
aeiouAEIOU
。
- 题目:https://leetcode-cn.com/problems/reverse-vowels-of-a-string/
- 难度:简单
- 解答:no0345
524. 通过删除字母匹配到字典里最长单词
- 题目:https://leetcode-cn.com/problems/longest-word-in-dictionary-through-deleting/
- 难度:中等
- 解答:no0524
003. 无重复字符的最长子串
-
题目:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/
-
难度:中等
-
解答:no0003
基于滑动窗口实现
👉 相似题目:159. 至多包含两个不同字符的最长子串
- 题目:https://leetcode-cn.com/problems/longest-substring-with-at-most-two-distinct-characters/
- 难度:困难
- 解答:no0159
👉 相似题目:340. 至多包含两个不同字符的最长子串
- 题目:https://leetcode-cn.com/problems/longest-substring-with-at-most-k-distinct-characters/
- 难度:困难
- 解答:no0340
696. 计数二进制子串
- 题目:https://leetcode-cn.com/problems/count-binary-substrings/
- 难度:简单
- 解答:no0696
151. 翻转字符串里的单词
- 题目:https://leetcode-cn.com/problems/reverse-words-in-a-string/
- 难度:中等
- 解答:no0151
👉 相似题目:557. 反转字符串中的单词 III
- 题目:https://leetcode-cn.com/problems/reverse-words-in-a-string-iii/
- 难度:简单
- 解答:no0557
008. 字符串转换整数 (atoi)
- 题目:https://leetcode-cn.com/problems/string-to-integer-atoi/
- 难度:中等
- 解答:no0008
链表
每次写链表,都蛮头疼的。如果在搭配上递归的方式,简直就是一脸懵逼。
往往链表的答案不复杂,就是懵逼啊懵逼。
707. 设计链表
-
题目:https://leetcode-cn.com/problems/design-linked-list/
-
难度:简单
-
解答:no0707
我猜测,一次通过的胖友,基本没有,嘿嘿,虽然是个简单题。
002. 两数相加
- 题目:https://leetcode-cn.com/problems/add-two-numbers/
- 难度:简单
- 解答:no0002
👉 相似题目:445. 两数相加 II
- 题目:https://leetcode-cn.com/problems/add-two-numbers-ii/
- 难度:中等
- 解答:no0445
024. 两两交换链表中的节点
-
题目:https://leetcode-cn.com/problems/swap-nodes-in-pairs/
-
难度:中等
-
解答:no0024
注意点,交换时,不仅仅要考虑交换的两个节点,还要考虑,之前的节点,指向新的节点。
👉 相似题目:234. 回文链表
- 题目:https://leetcode-cn.com/problems/palindrome-linked-list/
- 难度:简单
- 解答:no0234
👉 相似题目:206. 反转链表
- 题目:https://leetcode-cn.com/problems/reverse-linked-list/
- 难度:简单
- 解答:no0206
👉 相似题目:092. 反转链表 II
- 题目:https://leetcode-cn.com/problems/reverse-linked-list-ii/
- 难度:中等
- 解答:no0092
👉 相似题目:025. K 个一组翻转链表
- 题目:https://leetcode-cn.com/problems/reverse-nodes-in-k-group/
- 难度:困难
- 解答:no0025
👉 相似题目 061. 旋转链表
- 题目:https://leetcode-cn.com/problems/rotate-list/
- 难度:中等
- 解答:no0061
083. 删除排序链表中的重复元素
- 题目:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/
- 难度:简单
- 解答:no0083
👉 相似题目:082. 删除排序链表中的重复元素 II
- 题目:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii/
- 难度:中等
- 解答:no0082
160. 相交链表
- 题目:https://leetcode-cn.com/problems/intersection-of-two-linked-lists/
- 难度:简单
- 解答:no0160
👉 相似题目:141. 环形链表
- 题目:https://leetcode-cn.com/problems/linked-list-cycle/
- 难度:简单
- 解答:no0141
👉 相似题目:142. 环形链表 II
- 题目:https://leetcode-cn.com/problems/max-chunks-to-make-sorted-ii/
- 难度:中等
- 解答:no0142
148. 排序链表
- 题目:https://leetcode-cn.com/problems/sort-list/
- 难度:中等
- 解答:no0148
👉 相似题目:147. 对链表进行插入排序
- 题目:https://leetcode-cn.com/problems/insertion-sort-list/
- 难度:中等
- 解答:no0147
021. 合并两个有序链表
- 题目:https://leetcode-cn.com/problems/merge-k-sorted-lists/
- 难度:简单
- 解答:no0021
👉 相似题目:023. 合并K个排序链表
- 题目:https://leetcode-cn.com/problems/merge-k-sorted-lists/
- 难度:困难
- 解答:no0023
725. 分隔链表
- 题目:https://leetcode-cn.com/problems/split-linked-list-in-parts/
- 难度:中等
- 解答:no0725
👉 相似题目:328. 奇偶链表
- 题目:https://leetcode-cn.com/problems/merge-k-sorted-lists/
- 难度:困难
- 解答:no0023
725. 分隔链表
- 题目:https://leetcode-cn.com/problems/split-linked-list-in-parts/
- 难度:中等
- 解答:no0725
086. 分隔链表
- 题目:https://leetcode-cn.com/problems/partition-list/
- 难度:中等
- 解答:no0086
二分查找
艿艿:其实我们已经在前面做了一堆二分查找的题目,嘿嘿。
当然,本小节,我们会看到很多略微变种的二分查找。
287. 寻找重复数
- 题目:https://leetcode-cn.com/problems/find-the-duplicate-number/
- 难度:中等
- 解答:no0287
- 备注:有三种解答,不同时间复杂度,胖友要注意看。
- 最佳解是,经典的弗洛伊德的乌龟和兔子(循环检测)。🙂 可能看弗洛伊德的乌龟和兔子,整个推导的过程比较懵逼,耐心。
035. 搜索插入位置
- 题目:https://leetcode-cn.com/problems/search-insert-position/
- 难度:简单
- 解答:no0035
👉 相似题目:744. 寻找比目标字母大的最小字母
- 题目:https://leetcode-cn.com/problems/search-insert-position/
- 难度:简单
- 解答:no0744
👉 相似题目:034. 在排序数组中查找元素的第一个和最后一个位置
- 题目:https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array/
- 难度:中等
- 解答:no0034
👉 相似题目:704. 二分查找
- 题目:https://leetcode-cn.com/problems/binary-search/solution/er-fen-cha-zhao-xiang-jie-by-labuladong/
- 难度:简单
- 解答:no0704
👉 相似题目:981. 基于时间的键值存储
- 题目:https://leetcode-cn.com/problems/time-based-key-value-store/
- 难度:中等
- 解答:no0981
👉 相似题目:278. 第一个错误的版本
- 题目:https://leetcode-cn.com/problems/first-bad-version/
- 难度:简单
- 解答:no0278
153. 寻找旋转排序数组中的最小值
- 题目:https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array/
- 难度:中等
- 解答:no0153
👉 相似题目:154. 搜索旋转排序数组
- 题目:https://leetcode-cn.com/problems/search-in-rotated-sorted-array/
- 难度:困难
- 解答:no0154
👉 相似题目:033. 搜索旋转排序数组
- 题目:https://leetcode-cn.com/problems/search-in-rotated-sorted-array/
- 难度:中等
- 解答:no0033
👉 相似题目:081. 搜索旋转排序数组 II
-
题目:https://leetcode-cn.com/problems/search-in-rotated-sorted-array-ii/
-
难度:中等
假设 154 是困难,那么这题,应该也是困难…
-
解答:no0081
852. 山脉数组的峰顶索引
- 题目:https://leetcode-cn.com/problems/peak-index-in-a-mountain-array/
- 难度:简单
- 解答:no0852
👉 相似题目:162. 寻找峰值
- 题目:https://leetcode-cn.com/problems/find-peak-element/
- 难度:中等
- 解答:no0162
069. x 的平方根
- 题目:https://leetcode-cn.com/problems/sqrtx/
- 难度:简单
- 解答:no0069
👉 相似题目:367. 有效的完全平方数
- 题目:https://leetcode-cn.com/problems/powx-n/
- 难度:简单
- 解答:no0367
👉 相似题目:540. 有序数组中的单一元素
- 题目:https://leetcode-cn.com/problems/single-element-in-a-sorted-array/
- 难度:中等
- 解答:no0540
栈和队列
这个小节里,我们把「滑动窗口」,也归类在这里。未来,可能会拆分出去。
232. 用队列实现栈
- 题目:https://leetcode-cn.com/problems/implement-queue-using-stacks/
- 难度:简单
- 解答:no0232
👉 相似题目:225. 用队列实现栈
- 题目:https://leetcode-cn.com/problems/implement-stack-using-queues/
- 难度:简单
- 解答:no0225
155. 最小栈
- 题目:https://leetcode-cn.com/problems/min-stack/
- 难度:简单
- 解答:no0155
👉 相似题目:716. 最大栈
- 题目:https://leetcode-cn.com/problems/max-stack/
- 难度:简单
- 解答:no0716
020. 有效的括号
- 题目:https://leetcode-cn.com/problems/valid-parentheses/
- 难度:简单
- 解答:no0020
👉 相似题目:1003. 检查替换后的词是否有效
- 题目:https://leetcode-cn.com/problems/check-if-word-is-valid-after-substitutions/
- 难度:中等
- 解答:no1003
496. 下一个更大元素 I
- 题目:https://leetcode-cn.com/problems/next-greater-element-i/
- 难度:简单
- 解答:no0496
👉 相似题目:503. 下一个更大元素 II
- 题目:https://leetcode-cn.com/problems/next-greater-element-ii/
- 难度:中等
- 解答:no0503
👉 相似题目:739. 每日温度
- 题目:https://leetcode-cn.com/problems/daily-temperatures/
- 难度:中等
- 解答:no0739
👉 相似题目:239. 滑动窗口最大值
- 题目:https://leetcode-cn.com/problems/sliding-window-maximum/
- 难度:困难
- 解答:no0239
👉 相似题目:076. 最小覆盖子串
- 题目:https://leetcode-cn.com/problems/minimum-window-substring/
- 难度:困难
- 解答:no0076
👉 相似题目:438. 找到字符串中所有字母异位词
- 题目:https://leetcode-cn.com/problems/find-all-anagrams-in-a-string/
- 难度:简单
- 解答:no0438
递归
856. 括号的分数
- 题目:https://leetcode-cn.com/problems/score-of-parentheses/
- 难度:中等
- 解答:no0856
394. 字符串解码
- 题目:https://leetcode-cn.com/problems/decode-string/
- 难度:中等
- 解答:no0394
👉 相似题目:726. 原子的数量
- 题目:https://leetcode-cn.com/problems/number-of-atoms/
- 难度:困难
- 解答:no0726
排序
215. 数组中的第 K 个最大元素
-
题目:https://leetcode-cn.com/problems/kth-largest-element-in-an-array/
-
难度:中等
-
解答:
no0215
- 堆排序
- 快速排序
347. 前 K 个高频元素
-
题目:https://leetcode-cn.com/problems/top-k-frequent-elements/
-
难度:中等
-
解答:
no0347
- 计数排序 + 快速排序
👉 相似题目:451. 根据字符出现频率排序
- 题目:https://leetcode-cn.com/problems/sort-characters-by-frequency/
- 难度:中等
- 解答:no0415
075. 颜色分类
- 题目:https://leetcode-cn.com/problems/sort-colors/
- 难度:中等
- 解答:no0075
哈希表
217. 存在重复元素
- 题目:https://leetcode-cn.com/problems/contains-duplicate/
- 难度:简单
- 解答:no0217
👉 相似题目:219. 存在重复元素 II
- 题目:https://leetcode-cn.com/problems/contains-duplicate-ii/
- 难度:简单
- 解答:no0219
👉 相似题目:220. 存在重复元素 III
-
题目:https://leetcode-cn.com/problems/contains-duplicate-iii/
-
难度:中等
-
解答:
no0220
- 平衡二叉树
- 桶排序,😈 可以通过这个题目练习下。
594. 最长和谐子序列
- 题目:https://leetcode-cn.com/problems/longest-harmonious-subsequence/
- 难度:简单
- 解答:no0594
128. 最长连续序列
- 题目:https://leetcode-cn.com/problems/longest-consecutive-sequence/
- 难度:困难
- 解答:no0128
387. 字符串中的第一个唯一字符
- 题目:https://leetcode-cn.com/problems/first-unique-character-in-a-string/
- 难度:简单
- 解答:no0387
树
本小节,题目蛮多的,淡定。
另外,会包括一些二叉搜索树的题目,主要考虑相似题。
104. 二叉树的最大深度
- 题目:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/
- 难度:简单
- 解答:no0104
👉 相似题目:111. 二叉树的最小深度
- 题目:https://leetcode-cn.com/problems/minimum-depth-of-binary-tree/
- 难度:简单
- 解答:no0111
👉 相似题目:110. 平衡二叉树
- 题目:https://leetcode-cn.com/problems/balanced-binary-tree/
- 难度:简单
- 解答:no0110
👉 相似题目:543. 两节点的最长路径
- 题目:https://leetcode.com/problems/diameter-of-binary-tree/
- 难度:简单
- 解答:no0543
112. 路径总和
- 题目:https://leetcode-cn.com/problems/path-sum/
- 难度:简单
- 解答:no0112
👉 相似题目:113. 路径总和 II
- 题目:https://leetcode-cn.com/problems/path-sum-ii/
- 难度:中等
- 解答:no0113
👉 相似题目:437. 路径总和 III
- 题目:https://leetcode-cn.com/problems/path-sum-iii/
- 难度:简单
- 解答:no0437
👉 相似题目:666. 路径总和 IIII
- 题目:https://leetcode-cn.com/problems/path-sum-iiii/
- 难度:简单
- 解答:no0666
👉 相似题目:687. 最长同值路径
- 题目:https://leetcode-cn.com/problems/longest-univalue-path/
- 难度:简单
- 解答:no0687
👉 相似题目:二叉树的所有路径
- 题目:https://leetcode-cn.com/problems/binary-tree-paths/
- 难度:简单
- 解答:no0257
👉 相似题目:129. 求根到叶子节点数字之和
- 题目:https://leetcode-cn.com/problems/binary-tree-maximum-path-sum/
- 难度:中等
- 解答:no0129
👉 相似题目:124. 二叉树中的最大路径和
- 题目:https://leetcode-cn.com/problems/sum-root-to-leaf-numbers/
- 难度:困难
- 解答:no0124
👉 相似题目:508. 出现次数最多的子树元素和
- 题目:https://leetcode-cn.com/problems/most-frequent-subtree-sum/%3E
- 难度:中等
- 解答:no0508
226. 翻转二叉树
- 题目:https://leetcode-cn.com/problems/invert-binary-tree/
- 难度:简单
- 解答:no0226
617. 合并二叉树
- 题目:https://leetcode-cn.com/problems/merge-two-binary-trees/
- 难度:简单
- 解答:no0617
572. 另一个树的子树
- 题目:https://leetcode-cn.com/problems/subtree-of-another-tree/
- 难度:简单
- 解答:no0572
👉 相似题目:100. 相同的树
- 题目:https://leetcode-cn.com/problems/same-tree/
- 难度:简单
- 解答:no0100
👉 相似题目:965. 单值二叉树
- 题目:https://leetcode-cn.com/problems/univalued-binary-tree/
- 难度:简单
- 解答:no0965
👉 相似题目:872. 叶子相似的树
- 题目:https://leetcode-cn.com/problems/leaf-similar-trees/
- 难度:简单
- 解答:no0872
👉 相似题目:101. 对称二叉树
- 题目:https://leetcode-cn.com/problems/symmetric-tree/
- 难度:简单
- 解答:no0101
337. 打家劫舍 III
-
题目:https://leetcode-cn.com/problems/house-robber-iii/
-
难度:中等
-
解答:
no0337
- 暴力 DFS 递归
- 经典的树状动态规划
671. 二叉树中第二小的节点
- 题目:https://leetcode-cn.com/problems/second-minimum-node-in-a-binary-tree/
- 难度:简单
- 解答:no0671
👉 相似题目:230. 二叉搜索树中第K小的元素
- 题目:https://leetcode-cn.com/problems/kth-smallest-element-in-a-bst/
- 难度:中等
- 解答:no0230
637. 二叉树的层平均值
- 题目:https://leetcode-cn.com/problems/average-of-levels-in-binary-tree/
- 难度:简单
- 解答:no0637
👉 相似题目:102. 二叉树的层次遍历
- 题目:https://leetcode-cn.com/problems/binary-tree-level-order-traversal/
- 难度:中等
- 解答:no0102
👉 相似题目:107. 二叉树的层次遍历 II
- 题目:https://leetcode-cn.com/problems/binary-tree-level-order-traversal-ii/
- 难度:简单
- 解答:no0107
517. 找树左下角的值
- 题目:https://leetcode-cn.com/problems/find-bottom-left-tree-value/
- 难度:简单
- 解答:no0517
144. 二叉树的前序遍历
- 题目:https://leetcode-cn.com/problems/find-bottom-left-tree-value/
- 难度:中等
- 解答:no0144
👉 相似题目:094. 二叉树的中序遍历
- 题目:https://leetcode-cn.com/problems/binary-tree-inorder-traversal/
- 难度:中等
- 解答:no0094
👉 相似题目:145. 二叉树的后序遍历
- 题目:https://leetcode-cn.com/problems/binary-tree-postorder-traversal/
- 难度:困难
- 解答:no0145
👉 相似题目:589. N 叉树的前序遍历
- 题目:https://leetcode-cn.com/problems/n-ary-tree-preorder-traversal/
- 难度:简单
- 解答:no0589
👉 相似题目:429. N 叉树的层序遍历
- 题目:https://leetcode-cn.com/problems/n-ary-tree-level-order-traversal/
- 难度:简单
- 解答:no0429
👉 相似题目:590. N 叉树的后序遍历
- 题目:https://leetcode-cn.com/problems/n-ary-tree-postorder-traversal/
- 难度:简单
- 解答:no0590
👉 相似题目:987. 二叉树的垂序遍历
- 题目:https://leetcode-cn.com/problems/vertical-order-traversal-of-a-binary-tree/
- 难度:中等
- 解答:no0987
297. 二叉树的序列化与反序列化
- 题目:https://leetcode-cn.com/problems/serialize-and-deserialize-binary-tree/
- 难度:困难
- 解答:no0297
👉 相似题目:449. 序列化和反序列化二叉搜索树
- 题目:https://leetcode-cn.com/problems/serialize-and-deserialize-bst/
- 难度:中等
- 解答:no0449
236. 二叉树的最近公共祖先
- 题目:https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-tree/
- 难度:中等
- 解答:no0236
👉 相似题目:235. 二叉搜索树的最近公共祖先
- 题目:https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-search-tree/
- 难度:简单
- 解答:no0235
814. 二叉树剪枝
- 题目:https://leetcode-cn.com/problems/binary-tree-pruning/
- 难度:简单
- 解答:no0814
二叉搜索树
501. 二叉搜索树中的众数
- 题目:https://leetcode-cn.com/problems/find-mode-in-binary-search-tree/
- 难度:简单
- 解答:no0501
👉 相似题目:098. 验证二叉搜索树
- 题目:https://leetcode-cn.com/problems/validate-binary-search-tree/
- 难度:中等
- 解答:no0098
👉 相似题目:530. 二叉搜索树的最小绝对差
- 题目:https://leetcode-cn.com/problems/minimum-absolute-difference-in-bst/
- 难度:简单
- 解答:no0530
👉 相似题目:538. 把二叉搜索树转换为累加树
- 题目:https://leetcode-cn.com/problems/convert-bst-to-greater-tree/
- 难度:简单
- 解答:no0538
👉 相似题目:653. 两数之和 IV - 输入 BST
- 题目:https://leetcode-cn.com/problems/two-sum-iv-input-is-a-bst/
- 难度:简单
- 解答:no0653
108. 将有序数组转换为二叉搜索树
- 题目:https://leetcode-cn.com/problems/convert-sorted-array-to-binary-search-tree/
- 难度:简单
- 解答:no0108
👉 相似题目:109. 有序链表转换二叉搜索树
- 题目:https://leetcode-cn.com/problems/convert-sorted-list-to-binary-search-tree/
- 难度:中等
- 解答:no0109
700. 二叉搜索树中的搜索
- 题目:https://leetcode-cn.com/problems/search-in-a-binary-search-tree/
- 难度:简单
- 解答:no0700
👉 相似题目:701. 二叉搜索树中的插入操作
- 题目:https://leetcode-cn.com/problems/insert-into-a-binary-search-tree/
- 难度:中等
- 解答:no0701
👉 相似题目:450. 删除二叉搜索树中的节点
- 题目:https://leetcode-cn.com/problems/delete-node-in-a-bst/
- 难度:中等
- 解答:no0450
👉 相似题目:776. 拆分二叉搜索树
- 题目:https://leetcode-cn.com/problems/split-bst/
- 难度:中等
- 解答:no0776
👉 相似题目:669. 修剪二叉搜索树
- 题目:https://leetcode-cn.com/problems/trim-a-binary-search-tree/
- 难度:简单
- 解答:no0669
099. 恢复二叉搜索树
- 题目:https://leetcode-cn.com/problems/recover-binary-search-tree/
- 难度:困难
- 解答:no0099
字典树
208. 实现 Trie (前缀树)
- 题目:https://leetcode-cn.com/problems/implement-trie-prefix-tree/
- 难度:中等
- 解答:no0208
👉 相似题目:键值映射
- 题目:https://leetcode-cn.com/problems/map-sum-pairs/
- 难度:中等
- 解答:no0677
BFS && DFS
考虑到很多题目,既可以用广度优先搜索,也可以使用深度优先搜索。所以,放在一个小节。
785. 判断二分图
- 题目:https://leetcode-cn.com/problems/is-graph-bipartite/
- 难度:中等
- 解答:no0785
133. 克隆图
- 题目:https://leetcode-cn.com/problems/clone-graph/
- 难度:中等
- 解答:no0133
👉 相似题目:138. 复制带随机指针的链表
- 题目:https://leetcode-cn.com/problems/copy-list-with-random-pointer/
- 难度:中等
- 解答:no0138
733. 图像渲染
- 题目:https://leetcode-cn.com/problems/flood-fill/
- 难度:简单
- 解答:no0733
👉 相似题目:827. 最大人工岛
- 题目:https://leetcode-cn.com/problems/making-a-large-island/
- 难度:困难
- 解答:no0827
279. 完全平方数
- 题目:https://leetcode-cn.com/problems/perfect-squares/
- 难度:中等
- 解答:no0279
127. 单词接龙
- 题目:https://leetcode-cn.com/problems/word-ladder/
- 难度:中等
- 解答:no0127
👉 相似题目:126. 单词接龙 II
- 题目:https://leetcode-cn.com/problems/word-ladder-ii/
- 难度:困难
- 解答:no0126
👉 相似题目:433. 最小基因变化
- 题目:https://leetcode-cn.com/problems/minimum-genetic-mutation/
- 难度:中等
- 解答:no0433
👉 相似题目:752. 打开转盘锁
- 题目:https://leetcode-cn.com/problems/open-the-lock/
- 难度:中等
- 解答:no0752
695. 岛屿的最大面积
- 题目:https://leetcode-cn.com/problems/max-area-of-island/
- 难度:中等
- 解答:no0695
👉 相似题目:200. 岛屿数量
- 题目:https://leetcode-cn.com/problems/number-of-islands/
- 难度:中等
- 解答:no0200
👉 相似题目:130. 被围绕的区域
- 题目:https://leetcode-cn.com/problems/surrounded-regions/
- 难度:中等
- 解答:no0130
547. 朋友圈
- 题目:https://leetcode-cn.com/problems/friend-circles/
- 难度:中等
- 解答:no0547
417. 太平洋大西洋水流问题
- 题目:https://leetcode-cn.com/problems/pacific-atlantic-water-flow/
- 难度:中等
- 解答:no0417
841. 钥匙和房间
- 题目:https://leetcode-cn.com/problems/keys-and-rooms/
- 难度:中等
- 解答:no0841
542. 01 矩阵
- 题目:https://leetcode-cn.com/problems/01-matrix/
- 难度:中等
- 解答:no0542
👉 相似题目:934. 最短的桥
- 题目:https://leetcode-cn.com/problems/shortest-bridge/
- 难度:中等
- 解答:no0934
👉 相似题目:675. 为高尔夫比赛砍树
- 题目:https://leetcode-cn.com/problems/cut-off-trees-for-golf-event/
- 难度:中等
- 解答:no0675
并查集
实际上,并查集的题目,是可以使用 BFS 和 DFS 进行实现的,所以本小节题目不会放很多。很多题目,我们在 「BFS && DFS」 小节,顺手去写了下。
684. 冗余连接
- 题目:https://leetcode-cn.com/problems/redundant-connection/
- 难度:中等
- 解答:no0684
拓扑排序
207. 课程表
- 题目:https://leetcode-cn.com/problems/course-schedule/
- 难度:中等
- 解答:no0207
👉 相似题目:210. 课程表 II
- 题目:https://leetcode-cn.com/problems/course-schedule-ii/
- 难度:中等
- 解答:no0210
802. 找到最终的安全状态
- 题目:https://leetcode-cn.com/problems/find-eventual-safe-states/
- 难度:中等
- 解答:no0802
回溯算法
我们会发现,很多回溯算法,是使用 DFS 进行实现。回溯算法是一种思想,常常使用 DFS 算法的方式,进行实现。
017. 电话号码的字母组合
- 题目:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/
- 难度:中等
- 解答:no0017
👉 相似题目:022. 括号生成
- 题目:https://leetcode-cn.com/problems/generate-parentheses/
- 难度:中等
- 解答:no0022
👉 相似题目:301. 删除无效的括号
- 题目:https://leetcode-cn.com/problems/remove-invalid-parentheses/
- 难度:困难
- 解答:no0301
093. 复原IP地址
- 题目:https://leetcode-cn.com/problems/restore-ip-addresses/
- 难度:中等
- 解答:no0093
079. 单词搜索
- 题目:https://leetcode-cn.com/problems/word-search/
- 难度:中等
- 解答:no0079
👉 相似题目:212. 单词搜索 II
- 题目:https://leetcode-cn.com/problems/word-search-ii/
- 难度:困难
- 解答:no0212
046. 全排列
- 题目:https://leetcode-cn.com/problems/permutations/
- 难度:中等
- 解答:no0046
👉 相似题目:047. 全排列 II
- 题目:https://leetcode-cn.com/problems/permutations-ii/
- 难度:中等
- 解答:no0047
👉 相似题目:996. 正方形数组的数目
- 题目:https://leetcode-cn.com/problems/number-of-squareful-arrays/
- 难度:困难
- 解答:no0996
👉 相似题目:077. 组合
- 题目:https://leetcode-cn.com/problems/combinations/
- 难度:中等
- 解答:no0077
👉 相似题目:784. 字母大小写全排列
- 题目:https://leetcode-cn.com/problems/letter-case-permutation/
- 难度:简单
- 解答:no0784
👉 相似题目:039. 组合总和
- 题目:https://leetcode-cn.com/problems/combination-sum/
- 难度:中等
- 解答:no0039
👉 相似题目:040. 组合总和 II
- 题目:https://leetcode-cn.com/problems/combination-sum-ii/
- 难度:中等
- 解答:no0040
👉 相似题目:216. 组合总和 III
- 题目:https://leetcode-cn.com/problems/combination-sum-iii/
- 难度:中等
- 解答:no0216
👉 相似题目:282. 给表达式添加运算符
- 题目:https://leetcode-cn.com/problems/expression-add-operators/
- 难度:困难
- 解答:no0282
078. 子集
- 题目:https://leetcode-cn.com/problems/subsets/
- 难度:中等
- 解答:no0078
👉 相似题目:090. 子集 II
- 题目:https://leetcode-cn.com/problems/subsets-ii/
- 难度:中等
- 解答:no0090
131. 分割回文串
- 题目:https://leetcode-cn.com/problems/palindrome-partitioning/
- 难度:中等
- 解答:no0131
842. 将数组拆分成斐波那契序列
- 题目:https://leetcode-cn.com/problems/split-array-into-fibonacci-sequence/
- 难度:中等
- 解答:no0842
037. 解数独
- 题目:https://leetcode-cn.com/problems/sudoku-solver/
- 难度:困难
- 解答:no0037
👉 相似题目:051. N皇后
- 题目:https://leetcode-cn.com/problems/n-queens/
- 难度:中等
- 解答:no0051
👉 相似题目:052. N皇后
- 题目:https://leetcode-cn.com/problems/n-queens-ii/
- 难度:中等
- 解答:no0052
分治算法
241. 为运算表达式设计优先级
- 题目:https://leetcode-cn.com/problems/different-ways-to-add-parentheses/
- 难度:中等
- 解答:no0241
096. 不同的二叉搜索树
- 题目:https://leetcode-cn.com/problems/unique-binary-search-trees/
- 难度:中等
- 解答:no0096
👉 相似题目:095. 不同的二叉搜索树 II
- 题目:https://leetcode-cn.com/problems/unique-binary-search-trees-ii/
- 难度:中等
- 解答:no0095
关于下面的众数的题目,只有 169 是通过分治算法解决,并且还不是最优解。最优是 “Boyer-Moore 投票算法” 。
169. 求众数
- 题目:https://leetcode-cn.com/problems/majority-element/
- 难度:简单
- 解答:no0169
👉 相似题目:229. 求众数 II
- 题目:https://leetcode-cn.com/problems/majority-element-ii/
- 难度:中等
- 解答:no0229
贪心算法
455. 分发饼干
- 题目:https://leetcode-cn.com/problems/assign-cookies/
- 难度:简单
- 解答:no0455
435. 无重叠区间
- 题目:https://leetcode-cn.com/problems/non-overlapping-intervals/
- 难度:中等
- 解答:no0435
👉 相似题目:452. 用最少数量的箭引爆气球
- 题目:https://leetcode-cn.com/problems/minimum-number-of-arrows-to-burst-balloons/
- 难度:中等
- 解答:no0452
406. 根据身高重建队列
- 题目:https://leetcode-cn.com/problems/queue-reconstruction-by-height/
- 难度:中等
- 解答:no0406
121. 买卖股票的最佳时机
- 题目:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/
- 难度:简单
- 解答:no0121
👉 相似题目:122. 买卖股票的最佳时机 II
- 题目:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/
- 难度:简单
- 解答:no0122
392. 判断子序列
- 题目:https://leetcode-cn.com/problems/is-subsequence/
- 难度:简单
- 解答:no0392
055. 跳跃游戏
- 题目:https://leetcode-cn.com/problems/is-subsequence/
- 难度:简单
- 解答:no0053
763. 划分字母区间
- 题目:https://leetcode-cn.com/problems/partition-labels/
- 难度:中等
- 解答:no0763
055. 跳跃游戏
- 题目:https://leetcode-cn.com/problems/jump-game/
- 难度:中等
- 解答:no0055
👉 相似题目:045. 跳跃游戏 II
- 题目:https://leetcode-cn.com/problems/jump-game-ii/
- 难度:困难
- 解答:no0045
动态规划 DOING
TODO 需要整理下
动态规划题型
- 0-1 背包
- 斐波那契数列
509. 斐波那契数
- 题目:https://leetcode-cn.com/problems/fibonacci-number/
- 难度:简单
- 解答:no0509
👉 相似题目:070. 爬楼梯
- 题目:https://leetcode-cn.com/problems/climbing-stairs/
- 难度:简单
- 解答:no0070
👉 相似题目:746. 使用最小花费爬楼梯
- 题目:https://leetcode-cn.com/problems/min-cost-climbing-stairs/
- 难度:简单
- 解答:no0746
198. 打家劫舍
- 题目:https://leetcode-cn.com/problems/house-robber/
- 难度:简单
- 解答:no0198
👉 相似题目:213. 打家劫舍 II
- 题目:https://leetcode-cn.com/problems/house-robber-II/
- 难度:中等
- 解答:no0213
064. 最小路径和
- 题目:https://leetcode-cn.com/problems/minimum-path-sum/
- 难度:中等
- 解答:no0064
👉 相似题目:062. 不同路径
- 题目:https://leetcode-cn.com/problems/unique-paths/
- 难度:中等
- 解答:no0062
👉 相似题目:063. 不同路径 II
- 题目:https://leetcode-cn.com/problems/unique-paths-ii/
- 难度:中等
- 解答:no0063
303. 区域和检索 - 数组不可变
- 题目:https://leetcode-cn.com/problems/range-sum-query-immutable/
- 难度:简单
- 解答:no0303
413. 等差数列划分
- 题目:https://leetcode-cn.com/problems/arithmetic-slices/
- 难度:中等
- 解答:no0413
343. 整数拆分
- 题目:https://leetcode-cn.com/problems/integer-break/
- 难度:中等
- 解答:no0343
091. 解码方法
- 题目:https://leetcode-cn.com/problems/decode-ways/
- 难度:中等
- 解答:no0091
416. 分割等和子集
- 题目:https://leetcode-cn.com/problems/partition-equal-subset-sum/
- 难度:中等
- 解答:no0416
494. 目标和
- 题目:https://leetcode-cn.com/problems/target-sum/
- 难度:中等
- 解答:no0494
474. 一和零
- 题目:https://leetcode-cn.com/problems/ones-and-zeroes/
- 难度:中等
- 解答:no0474
322. 零钱兑换
- 题目:https://leetcode-cn.com/problems/coin-change/
- 难度:中等
- 解答:no0322
👉 相似题目:518. 零钱兑换 II
- 题目:https://leetcode-cn.com/problems/coin-change-2/
- 难度:中等
- 解答:no0518
👉 相似题目:377. 组合总和 Ⅳ
- 题目:https://leetcode-cn.com/problems/combination-sum-iv/
- 难度:中等
- 解答:no0377
139. 单词拆分
- 题目:https://leetcode-cn.com/problems/word-break/
- 难度:中等
- 解答:no0139
309. 最佳买卖股票时机含冷冻期
- 题目:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-with-cooldown/
- 难度:中等
- 解答:no0309
👉 相似题目:714. 买卖股票的最佳时机含手续费
- 题目:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-with-transaction-fee/
- 难度:中等
- 解答:no0714
👉 相似题目:123. 买卖股票的最佳时机 III
- 题目:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-iii/
- 难度:困难
- 解答:no0123
👉 相似题目:188. 买卖股票的最佳时机 IV
- 题目:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-iv/
- 难度:困难
- 解答:no0188
221. 最大正方形
- 题目:https://leetcode-cn.com/problems/maximal-square/
- 难度:中等
- 解答:no0221
👉 相似题目:085. 最大矩形
- 题目:https://leetcode-cn.com/problems/maximal-rectangle/
- 难度:困难
- 解答:no0085
👉 相似题目:84. 柱状图中最大的矩形
- 题目:https://leetcode-cn.com/problems/largest-rectangle-in-histogram/
- 难度:困难
- 解答:no0084
152. 乘积最大子序列
- 题目:https://leetcode-cn.com/problems/maximum-product-subarray/
- 难度:中等
- 解答:no0152
位运算
位操作很骚,有些想不到,真的就是想不到。
461. 汉明距离
- 题目:https://leetcode-cn.com/problems/hamming-distance/
- 难度:简单
- 解答:no0461
136. 只出现一次的数字
- 题目:https://leetcode-cn.com/problems/single-number/
- 难度:简单
- 解答:no0136
👉 相似题目:268. 缺失数字
- 题目:https://leetcode-cn.com/problems/missing-number/
- 难度:简单
- 解答:no0268
👉 相似题目:260. 只出现一次的数字 III
- 题目:https://leetcode-cn.com/problems/single-number-iii/
- 难度:中等
- 解答:no0260
190. 颠倒二进制位
- 题目:https://leetcode-cn.com/problems/reverse-bits/
- 难度:简单
- 解答:no0190
231. 2 的幂
- 题目:https://leetcode-cn.com/problems/power-of-two/
- 难度:简单
- 解答:no0231
👉 相似题目:342. 4 的幂
- 题目:https://leetcode-cn.com/problems/power-of-four/
- 难度:简单
- 解答:no0342
693. 交替位二进制数
- 题目:https://leetcode-cn.com/problems/binary-number-with-alternating-bits/
- 难度:简单
- 解答:no0693
476. 数字的补数
- 题目:https://leetcode-cn.com/problems/number-complement/
- 难度:简单
- 解答:no0476
371. 两整数之和
- 题目:https://leetcode-cn.com/problems/sum-of-two-integers/
- 难度:简单
- 解答:no0371
318. 最大单词长度乘积
- 题目:https://leetcode-cn.com/problems/maximum-product-of-word-lengths/
- 难度:
- 解答:no0318
191. 位1的个数
- 题目:https://leetcode-cn.com/problems/number-of-1-bits/
- 难度:简单
- 解答:no0191
👉 相似题目:338. 比特位计数
- 题目:https://leetcode-cn.com/problems/counting-bits/
- 难度:中等
- 解答:no0338
数学 TODO
TODO
###
- 题目:<>
- 难度:
- 解答:no0
👉 相似题目: