LeetCode 75

精选 75 题,涵盖核心算法和数据结构

共 75 道题目

难度分布

22
简单
53
中等

简单 (22 题)

交替合并字符串

将两个字符串交替合并成一个字符串,依次取两个字符串中的字符,直到其中一个字符串耗尽。

数组 / 字符串
查看详情

字符串的最大公因子

找到两个字符串的最大公因子,即可以作为两个字符串的重复子串的最长字符串。

数组 / 字符串
查看详情

拥有最多糖果的孩子

给定每个孩子的糖果数和额外增加的糖果数,判断哪些孩子可以拥有最多的糖果。

数组 / 字符串
查看详情

种花问题

判断是否可以在某些位置种下指定数量的花,种花规则是不能种在相邻位置。

数组 / 字符串
查看详情

反转字符串中的元音字母

反转字符串中的元音字母,其他字符保持原样。

数组 / 字符串
查看详情

移动零

将数组中的所有零移动到末尾,同时保持非零元素的相对顺序。

双指针
查看详情

判断子序列

判断一个字符串是否为另一个字符串的子序列。

双指针
查看详情

子数组最大平均数 I

找到长度为 k 的子数组的最大平均数。

滑动窗口
查看详情

找到最高海拔

根据海拔变化数组,找到最高的海拔。

前缀和
查看详情

寻找数组的中心下标

找到一个下标,使得其左右两边的元素和相等。

前缀和
查看详情

找出两数组的不同

找出两个数组中不同的元素集合。

哈希表 / 哈希集合
查看详情

独一无二的出现次数

判断数组中每个数字的出现次数是否都唯一。

哈希表 / 哈希集合
查看详情

最近的请求次数

统计最近时间范围内的请求次数。

队列
查看详情

二叉树的最大深度

计算二叉树的最大深度。

二叉树 - 深度优先搜索
查看详情

叶子相似的树

判断两棵树的叶子节点序列是否相同。

二叉树 - 深度优先搜索
查看详情

反转链表

反转单链表,返回反转后的链表头节点。

链表
查看详情

二叉搜索树中的搜索

在二叉搜索树中搜索目标值,返回对应节点。

二叉搜索树
查看详情

猜数字大小

通过二分查找猜测目标数字。

二分查找
查看详情

第 N 个泰波那契数

计算第 N 个泰波那契数。

动态规划 - 一维
查看详情

使用最小花费爬楼梯

计算爬楼梯的最小花费。

动态规划 - 一维
查看详情

比特位计数

计算每个数字的二进制表示中1的个数。

位运算
查看详情

只出现一次的数字

找到数组中唯一出现一次的数字。

位运算
查看详情

中等 (53 题)

反转字符串中的单词

反转字符串中的所有单词,但保持单词内部字符顺序不变。

数组 / 字符串
查看详情

除自身以外数组的乘积

返回一个数组,其中每个元素是原数组中其他元素的乘积。

数组 / 字符串
查看详情

压缩字符串

压缩字符串,将连续重复的字符替换为字符加重复次数。

数组 / 字符串
查看详情

递增的三元子序列

判断数组中是否存在递增的三元子序列。

数组 / 字符串
查看详情

盛最多水的容器

找出两个柱子形成的容器中最多能盛的水量。

双指针
查看详情

K 和数对的最大数目

找出数组中和为 K 的数对的最大数量。

双指针
查看详情

定长子串中元音的最大数目

找到固定长度子串中元音字母的最大个数。

滑动窗口
查看详情

最大连续1的个数 III

最多允许 k 次翻转,将数组中连续的 1 的最大长度求出。

滑动窗口
查看详情

删掉一个元素以后全为 1 的最长子数组

删掉一个元素后,找到最长的连续 1 的子数组长度。

滑动窗口
查看详情

确定两个字符串是否接近

判断两个字符串是否可以通过交换字符或频率调整后相等。

哈希表 / 哈希集合
查看详情

相等行列对

统计矩阵中行和列完全相同的配对数量。

哈希表 / 哈希集合
查看详情

从字符串中移除星号

移除字符串中的星号,星号会移除其左侧的字符。

查看详情

小行星碰撞

模拟小行星碰撞,返回最终状态。

查看详情

字符串解码

解码嵌套格式的字符串,如 '3[a2[b]]'。

查看详情

奇偶链表

调整链表顺序,使奇数索引节点在前,偶数索引节点在后。

链表
查看详情

删除链表的中间节点

删除链表的中间节点,返回修改后的链表。

链表
查看详情

Dota2 参议院

模拟参议院的决策过程,判断最终赢家。

队列
查看详情

链表最大孪生和

找到链表中对称节点的最大和。

链表
查看详情

统计二叉树中好节点的数目

统计二叉树中值大于等于路径中最大值的节点数量。

二叉树 - 深度优先搜索
查看详情

二叉树中的最长交错路径

找到二叉树中最长的交错路径。

二叉树 - 深度优先搜索
查看详情

路径总和 III

找到二叉树中路径和为目标值的路径数量。

二叉树 - 深度优先搜索
查看详情

二叉树的右视图

返回二叉树的右视图,即每层最右侧的节点。

二叉树 - 广度优先搜索
查看详情

二叉树的最近公共祖先

找到二叉树中两个节点的最近公共祖先。

二叉树 - 深度优先搜索
查看详情

最大层内元素和

找到二叉树中每层节点值的最大和。

二叉树 - 广度优先搜索
查看详情

删除二叉搜索树中的节点

删除二叉搜索树中的指定节点,调整树结构。

二叉搜索树
查看详情

钥匙和房间

判断是否可以访问所有房间。

图 - 深度优先搜索
查看详情

省份数量

计算图中连通分量的数量,表示省份数量。

图 - 深度优先搜索
查看详情

重新规划路线

调整图中的边方向,使所有节点连通。

图 - 深度优先搜索
查看详情

除法求值

计算除法表达式的结果,给定变量之间的关系。

图 - 深度优先搜索
查看详情

迷宫中离入口最近的出口

找到迷宫中离入口最近的出口位置。

图 - 广度优先搜索
查看详情

腐烂的橘子

计算腐烂橘子扩散到所有新鲜橘子所需的时间。

图 - 广度优先搜索
查看详情

数组中的第K个最大元素

找到数组中第K大的元素。

堆 / 优先队列
查看详情

无限集中的最小数字

维护一个无限集合,支持取出最小数字和添加数字。

堆 / 优先队列
查看详情

雇佣 K 位工人的总代价

选择 K 位工人,使得雇佣成本最小。

堆 / 优先队列
查看详情

最大子序列的分数

找到一个子序列,使得分数最大化。

堆 / 优先队列
查看详情

咒语和药水的成功对数

计算咒语和药水的组合中满足条件的对数。

二分查找
查看详情

爱吃香蕉的珂珂

找到最小速度使得珂珂能在限定时间内吃完香蕉。

二分查找
查看详情

寻找峰值

找到数组中的峰值元素。

二分查找
查看详情

电话号码的字母组合

根据数字键盘映射生成所有可能的字母组合。

回溯
查看详情

组合总和 III

找到所有和为目标值的固定长度组合。

回溯
查看详情

打家劫舍

计算可以偷窃的最大金额,不能偷相邻的房屋。

动态规划 - 一维
查看详情

最长公共子序列

找到两个字符串的最长公共子序列。

动态规划 - 多维
查看详情

不同路径

计算从网格左上角到右下角的不同路径数量。

动态规划 - 多维
查看详情

编辑距离

计算将一个字符串转换为另一个字符串的最小操作次数。

动态规划 - 多维
查看详情

买卖股票的最佳时机含手续费

找到最大利润,考虑交易手续费。

动态规划 - 多维
查看详情

多米诺和托米诺平铺

计算平铺方式的总数。

动态规划 - 一维
查看详情

或运算的最小翻转次数

计算将两个数字通过翻转变为目标值的最小次数。

位运算
查看详情

实现 Trie (前缀树)

实现一个支持插入、搜索和前缀匹配的前缀树。

前缀树
查看详情

搜索推荐系统

根据输入的前缀返回推荐的单词列表。

前缀树
查看详情

无重叠区间

移除最少数量的区间使剩余区间互不重叠。

区间集合
查看详情

每日温度

计算每个日期需要等待多少天才能看到更高的温度。

单调栈
查看详情

用最少数量的箭引爆气球

计算射爆所有气球所需的最少箭数。

区间集合
查看详情

股票价格跨度

计算每个日期股票价格连续上涨的天数。

单调栈
查看详情