Posted by Jiefang's Blog on July 31, 2021

数据结构与算法面试题

当胖友准备开始准备算法相关的面试,就要做好心理准备,这可能是比想象中痛苦的过程,并且时间还不短,少则三个月,半年也是比较正常的时间。

不过艿艿觉得,随着现在互联网越来越朝着精英化发展,对学历对履历的要求越来越高,大公司甚至部分小公司,也愈发注重基础技术。而基础技术,无非考核两点,编程语言和算法。所以,这个过程,可能真的是我们必须去体验的。

不过换过来思考,算法不会像我们学习的框架或者中间件,有过时一说。也就说,学习一次,终身受众。并且,相比大多数 CRUD 的无脑,撩撩算法,也是一种“放松”,哈哈哈哈。

如何学习?

可能很多同学,一说到算法面试的准备,就想到的是去 LeetCode 去刷题?!但是,这个真的正确么?一半一半。相信绝大多数胖友,在大学里是没有认真学习算法,又或者在工作中,因为应用较少,所以基本忘记的也差不多了。

那么,就必须重新学习下算法!请不要上来就去 LeetCode 去刷题,简直是花样作死。算法准备,是一场持久战,需要系统的去准备。那么,怎么进行学习呢?

讲真,市面上大多数算法,无论是书籍,还是视频,真的真的真的是看不下去啊看不下去。有握爪的胖友么?最近,刷了王争的 《数据结构与算法之美》 ,哈哈哈,还很认真的做了笔记。如下图:

笔记笔记

艿艿,利益无关,主要是自己看了,真的觉得不错,足够适合我们准备算法面试。如果想要挑战,请去看 《数据结构与算法分析:Java语言描述》 等等。呵,等着胖友回来说,“奶奶,我错了~~~😿” 哈哈哈哈。

但是,还是要打个预防针,即使艿艿推荐了 《数据结构与算法之美》 这个教程,也并不意味着它很简单。它还是非常难的,特别是红黑树!简直是魔鬼啊!!!仅仅是说,它足够能够让艿艿看完,并且蛮多时候在地铁上就能耐心看完。嘻嘻,不过呢,我有 2 年 ACM 集训的经验,可能底子又比大多数同学好点。对于 《数据结构与算法分析:Java语言描述》 来说,在地铁上,真的是分分钟趟睡,又或是拿出手机,刷刷刷。

胖友,要拿出勇气!如果碰到困难的,就退缩,就不要准备算法面试,不要想着去大公司。想啥呢!对吧。

如何练习?

三分学,七分练。用在算法面试的准备中,非常适合。哈哈哈,在算法面试的准备中,真正占用时间的是,不是算法的学习,而是在算法的练习中。这个过程,比学习算法会更加痛苦和难受。但是,也只有经历了练习的过程,学习算法,才可能真正变成学会算法。

就好比说,我们学习了数学的某个知识点,直接去考试,绝大数情况下,可能是直接懵逼。同理,切换到真正去公司面试时,考到具体的算法题目,肯定也是类似的情况。所以,一定要勤加练习,死磕练习,玩命练习。

那么,如何练习算法呢?答案很简单,去刷 LeetCode 。比较幸运的是,目前 LeetCode 有国内的版本,可以访问 https://leetcode-cn.com/ 进行愉快的玩耍,照顾我们这些英语不好的孩子。LeetCode 本土化的名字,真的是堪比麦丹劳的“金拱门”,竟然见“力扣”,哈哈哈哈。

不过,怎么刷 LeetCode 呢?毕竟 LeetCode 已经进入千题时代,想要全部做完,肯定是不太现实,即使时间允许,我们的实力也不允许,哈哈哈哈。推荐看看 《花花酱 LeetCode进入千题时代后该如何刷题?》 。可以开倍速播放,比较核心的,就是下面这张图:

如何刷题如何刷题

即使如此,可能对于基础相对薄弱的,或者之前没啥刷题经验的胖友,直接上来就刷 LeetCode 题目,特别是一些困难级别的题目,可能简直是进了地狱模式的游戏难度,挫败感 120 分的强烈。那么怎么办呢?马化腾爸爸,很早就告诉了我们残酷的真理,“不充钱,怎么变强!”。所以,我们可能需要看一些针对 LeetCode 出的刷题面试视频课程:

艿艿的话,自己刷的是,覃超 《算法面试通关 40 讲》 。并且,还是老样子,认真做了笔记,如下图:

笔记笔记

题外话,因为艿艿自己不准备面试,所以一般是不会去看算法。但是考虑到,这篇文章,蛮多人催的,所以自己又看了蛮多的资料的。就冲这份良心,我都给自己打 120 分。

另外,市面上也有一些讲面试算法的书,这里也补充整理下,直接放下面:

考虑到大多数胖友,都是在职为主的,可以直接考虑 《算法面试通关 40 讲》 。主要原因,还是因为我目前暂时只看完了这套教程。后续,我也抽时间看看,左神和小象学院的视频,良心如我。

哪些题目?

正如我们在 《花花酱 LeetCode进入千题时代后该如何刷题?》 看到的视频,我们需要每个类型的 10-20 题,所以我们需要知道,算法面试,主要有哪些题型,每个题型刷哪些题目

题型来说,我们可以按照数据结构与算法分别分类:

整理题型和题库时,按照自己的想法,并且参考下面的资料:

  • 数据结构

    • 数组

      矩阵,本质是二维数组。有些文章会喜欢归类成“数组与矩阵”,是一个意思。

    • 链表

    • 栈和队列

    • 字符串

    • 哈希表(散列表)

  • 算法

    • 双指针
    • 排序
    • 二分查找
    • 深度优先搜索
    • 广度优先搜索
    • 拓扑排序
    • 并查集
    • 分治算法
    • 回溯算法
    • 贪心算法
    • 动态规划
    • 位运算
    • 数学

下面,按照这个分类,逐个来看看,需要做哪些题目。

友情提示:题目的顺序,主要按照王争老师的 《数据结构与算法之美》 为主。主要考虑点,是艿艿是按照这个顺序复习的,哈哈哈哈。

注意:每个下面的每个解答后面,每个 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

👉 相似题目