题解 | 描述 | 解法 | 难度 |
---|---|---|---|
743-网络延迟时间 | 判有向图的连通性 | dfs判连通 | 简单 |
0017-电话号码的字母组合 | 手机按键数字转字母 | dfs | 简单 |
0022-括号生成 | 生成合法的括号组合 | dfs | 中等 |
0079-单词搜索 | 判断字符串是否出现在字符矩阵中 | dfs+回溯 | 中等 |
0797-所有可能的路径 | 求从0到n-1的全部路径 | dfs+回溯 | 中等 |
0650-只有两个键的键盘 | 多次复制粘贴构造长度为n的字符串 | dfs | 中等 |
0430-扁平化多级双向链表 | flattern一个多层链表 | dfs | 中等 |
0437-路径总和III | 求树中能构成x的组合数 | dfs/前缀和 | 中等 |
0638-大礼包 | 求按礼包购买和单个购买的最少花费 | dfs | 中等 |
0869-重新排序得到2的幂 | 求一个数数位重组后是否是2的幂次 | dfs | 中等 |
0089-格雷编码 | 格雷编码 | dfs+回溯 | 中等 |
01219-黄金矿工 | 路径最大和 | dfs+回溯 | 中等 |
0200-岛屿数量 | 求联通分量数目 | dfs | 简单 |
1020-飞地的数量 | 求不连通边界的格子的数目 | dfs | 中等 |
0695-岛屿的最大面积 | 求最大岛屿面积 | dfs | 中等 |
1254-统计封闭岛屿的数目 | 求被水包围的岛屿的数量 | dfs | 中等 |
0841-钥匙和房间 | 求是否能走遍所有房间 | dfs | 中等 |
1718-构建字典序最大的可行序列 | 构造值为i的两个元素之间的距离也为i的序列 | 回溯 | 中等 |
6059-检查是否有合法括号字符串路径 | 判断矩形左上角到右下角的路径是否合法 | 记忆化dfs | 困难 |
0473-火柴拼正方形 | 判断全部火柴能否拼成一个正方形 | dfs实现分组 | 中等 |
题解 | 描述 | 解法 | 难度 |
---|---|---|---|
0301-删除无效的括号 | 删除最少括号获得合法组合 | bfs/脑筋急转弯 | 中等 |
1091-二进制矩阵中的最短路径 | 求左上角到右下角的路径长度 | bfs | 中等 |
0542-01矩阵 | 求所有1到最近的0的距离 | bfs | 中等 |
0433-最小基因变化 | 从字符串start到end的最小变化次数 | bfs | 中等 |
0329-矩阵中的最长递增路径 | 求矩阵中最长递增路径 | bfs | 困难 |
6054-逃离火灾 | 求最久能在起始点呆多久后,还能到达出口 | 二分+bfs | 困难 |
2290-到达角落需要移除障碍物的最小数目 | 求从左上角到右下角经过的最少障碍数 | 01 BFS + 堆优化 | 困难 |
题解 | 描述 | 解法 | 难度 |
---|---|---|---|
743-网络延迟时间 | 单源最短路模板题 | dijkstra | 简单 |
802-找到最终的安全状态 | 求dfs过程中无环的所有起点 | dfs+三色标记法/反图+拓扑排序 | 中等 |
847-访问所有节点的最短路径 | 求一条包含所有顶点的路径,要求路径最短 | 状态压缩BFS | 中等 |
1436-旅行终点站 | 求路径终点 | 求出度 | 简单 |
1557-可以到达所有点的最少点数目 | 入度为0的点 | 度 | 简单 |
1584-连接所有点的最小费用 | 最小生成树裸题 | 最小生成树 | 中等 |
题解 | 描述 | 解法 | 难度 |
---|---|---|---|
0611-有效三角形的个数 | 求数组中能组成三角形的三元组的个数 | 三角形最短两边之和大于第三边 | 简单 |
0264-丑数II | 求第n个丑数 | 递推 | 简单 |
0313-超级丑数 | 求第n个超级丑数 | 递推 | 简单 |
0118-杨辉三角 | 求每一行杨辉三角形的值 | 找规律 | 简单 |
0384-打乱数组 | 洗牌算法 | 洗牌算法 | 中等 |
0292-Nim游戏 | 两人取一堆石子 | 博弈论 | 简单 |
0326-3的幂 | 求一个数是不是3的幂次 | 数学 | 简单 |
0553-最优除法 | 给整数数组添加除号和括号,使得结果最大 | 数学 | 简单 |
题解 | 描述 | 解法 | 难度 |
---|---|---|---|
0789-逃脱阻碍者 | x逃跑之前不被其他人追上 | 思维 | 简单 |
0202-快乐数 | 判断一个数是不是快乐数 | 思维 | 简单 |
0169-多数元素 | 判断数组中数量超过一半的数 | 思维/摩尔投票算法 | 简单 |
0006-Z字形变换 | 求字符串按z字排放后变成的字符串 | 找规律 | 简单 |
0521-最长特殊序列I | 最长特殊序列I | 脑筋急转弯 | 简单 |
2038-如果相邻两个颜色均相同则删除当前颜色 | 如果相邻两个颜色均相同则删除当前颜色 | 脑筋小转弯 | 简单 |
5253-找到指定长度的回文数 | 长度为len的第i个回文数是什么 | 找规律 | 中等 |
2028-找出缺失的观测数据 | 求n个数的一个组合,使得这n个数和已知m个数的均值是mean | 构造 | 简单 |
剑指Offer45-把数组排成最小的数 | 把整数数组排成最小的数 | 构造/排序 | 简单 |
题解 | 描述 | 解法 | 难度 |
---|---|---|---|
0209-长度最小的子数组 | 求最短连续的子数组,使得子数组和大于x | 思维 | 中等 |
0011-盛最多水的容器 | 求一个区间,使得x最大 | 思维/双指针 | 中等 |
0986-区间列表的交集 | 求两个区间数组的所有区间的交集 | 数学/双指针 | 中等 |
0844-比较含退格的字符串 | 对两个字符串进行编辑操作后,判断是否相等 | 思维/双指针 | 中等 |
0825-适龄的朋友 | 求满足条件的区间和的和 | 思维/双指针 | 中等 |
1004-最大连续1的个数III | 最多k次操作,将数组中的0转换为1,求1的最大连续长度 | 滑动窗口 | 中等 |
2024-考试的最大困扰度 | 最多改变k次,求最长的T串或F串 | 滑动窗口 | 中等 |
1151-少交换次数来组合所有的1 | 求最小交换次数,使得01数组中所有的1连续 | 滑动窗口 | 中等 |
剑指Offer59-I.滑动窗口的最大值 | 滑动窗口GetMax() | 滑动窗口+单调队列 | 困难 |
0713-乘积小于 K 的子数组 | 求乘积小于k的连续子数组的个数 | 滑动窗口 | 中等 |
题解 | 描述 | 解法 | 难度 |
---|---|---|---|
0001-两数之和 | 在数组中寻找和等于target的两个数的下标 | 二分 | 简单 |
0034-在排序数组中查找元素的第一个和最后一个位置 | 查找元素的左右区间 | 二分 | 简单 |
0033-搜索旋转排序数组 | 升序数组旋转一次后以O(logn)复杂度寻找其中元素 | 二分/脑经急转弯 | 中等 |
0074-搜索二维矩阵 | 在一个排好序的二维矩阵中查找元素 | 二分/脑经急转弯 | 中等 |
0153-寻找旋转排序数组中的最小值 | 在排序后旋转的数组里找最小值 | 二分/脑经急转弯 | 中等 |
0162-寻找峰值 | 寻找一个峰值 | 二分/脑经急转弯 | 中等 |
0015-三数之和 | 求和为0的三个数的所有组合 | 二分 | 中等 |
剑指Offer11-旋转数组的最小数字 | 循环数组的最小值 | 二分 | 中等 |
0154-寻找旋转排序数组中的最小值II) | 循环数组的最小值 | 二分 | 中等 |
0029-两数相除 | 带数值溢出判断的二分查找 | 二分 | 困难 |
剑指OfferII069-山峰数组的顶部 | 寻找山峰 | 二分 | 简单 |
0540-有序数组中的单一元素 | 查找不降序数组中只出现一次的整数 | 二分/找规律 | 中等 |
1060-有序数组中的缺失元素 | 查找有序数组中第k个缺失元素 | 二分 | 中等 |
0302-包含全部黑色像素的最小矩阵 | 求包含所有黑色像素的最小矩阵的面积 | 二分 | 中等 |
1231-分享巧克力 | 将数组分为连续的k+1份,使得最小的那一份最大 | 二分 | 中等 |
LCP0028-采购方案 | 求数组中和小于等于x的组合的个数 | 二分 | 简单 |
0349-两个数组的交集 | 求两个数组的交集 | 二分/哈希表 | 简单 |
meituan010-小团的默契游戏 | 求合法的l和r,使得过滤后的数组单调 | 二分 | 困难 |
[剑指 Offer 53 - II. 0~n-1中缺失的数字](./剑指 Offer 53 - II. 0~n-1中缺失的数字) | 求有序数组缺失的那个数 | 二分 | 简单 |
1712-将数组分成三个子数组的方案数 | 将非负数组分为连续的三部分,使得三部分的和不递减,求方案数 | 二分 | 中等 |
题解 | 描述 | 解法 | 难度 |
---|---|---|---|
0881-救生艇 | 求最少需要多少船过河 | 贪心 | 简单 |
1221-分割平衡字符串 | 求一个balance字符串最多能划分为多少个balance字符串 | 贪心/脑筋急转弯 | 简单 |
0517-超级洗衣机 | 每次向左右一位移动,求最少移动次数使得平衡 | 贪心 | 困难 |
1705-吃苹果的最大数目 | 苹果会过期,求能吃到多少个苹果 | 贪心+优先队列 | 中等 |
1405-最长快乐字符串 | 构造不出现aaa、bbb、ccc的最长字符串 | 贪心 | 中等 |
meituan-011-搭配出售 | 求最大利润 | 贪心 | 中等 |
1717-删除子字符串的最大得分 | 删除ab得x分,删除ba得y分,求最大分数 | 贪心 | 中等 |
题解 | 描述 | 解法 | 难度 |
---|---|---|---|
0313-超级丑数 | 求第n个超级丑数 | dp | 中等 |
0413-等差数列划分 | 求数组中等差数列个数(连续子数组) | dp | 中等 |
0446-等差数列划分II | 求数组中等差数列个数(非连续子数组) | dp | 困难 |
0516-最长回文子序列 | 最长回文子序列 | dp | 中等 |
0055-跳跃游戏 | 求下标i最多跳跃A[i]下,是否能到达n | dp | 中等 |
0787-K站中转内最便宜的航班 | 有点数量限制的单源最短路 | dp | 中等 |
0062-不同路径 | 从(0, 0)到达(m, n)的路径数 | dp | 简单 |
0091-解码方法 | 带限制的字符串子串的组合个数 | dp | 中等 |
0139-单词拆分 | 判断字符串是否可被拆分为特定的单词 | dp | 中等 |
0673-最长递增子序列的个数 | 求长为x的最长上升子序列的个数 | dp | 中等 |
1143-最长公共子序列 | 求两个字符串的最长公共子序列的长度 | dp | 中等 |
0583-两个字符串的删除操作 | 求两个字符串的最长公共子序列的长度 | dp | 中等 |
0343-整数拆分 | 求和为n的若干个正整数的最大乘积 | dp | 中等 |
0322-零钱兑换 | 求组成和为x所需要的最少的硬币数 | dp | 中等 |
0072-编辑距离 | 求字符串A变为字符串B的最短编辑距离 | dp | 中等 |
0600-不含连续1的非负整数 | 求0<=x<=n的,二进制形式下没有连续1的x的个数 | 位运算 | 困难 |
0678-有效的括号字符串 | 含有星号的括号匹配 | dp | 困难 |
0650-只有两个键的键盘 | 用最少的次数复制粘贴获得长度为n的串 | dp | 简单 |
剑指Offer42(连续子数组的最大和 | 连续子数组的最大和 | dp | 简单 |
0639-解码方法II | 解码方案数 | dp | 困难 |
0097-交错字符串 | 字符串s1和s2是否能组成s3 | dp | 中等 |
0688-骑士在棋盘上的概率 | 马从棋盘上随机往8个方向跳跃,求最后留在棋盘的概率 | dp | 中等 |
2104-子数组范围和 | 子数组的范围和 | dp | 简单 |
meituan009-小团的装饰物 | arr[i] 是arr[i-1] 的倍数,且arr[m]<=n ,求满足的方案数 |
dp | 中等 |
0198-打家劫舍 | 不能取连续的两个数组元素,求最大和 | dp | 中等 |
剑指Offer47-礼物的最大价值 | 从左上角走到右下角,求路径权值最大和 | dp | 中等 |
0740-删除并获得点数 | 设abc连续,取b则不能取ac,求最大点数 | dp | 中等 |
6058-统计打字方案数 | 手机按键转换为字符的方案数 | dp | 中等 |
0691-贴纸拼词 | 用单词中的字符拼接目标字符串,求所需要的最少单词个数 | dp + 二进制枚举 | 困难 |
0213-打家劫舍II | 求最大金钱数,要求取1则不能取n | 线性dp | 中等 |
1230-抛掷硬币 | 每个硬币投掷一次,求刚好有target个硬币正面朝上的概率 | 二维线性dp | 中等 |
1746-经过一次操作后的最大子数组和 | 求最大连续子数组和,其中必须使用一次nums[i] * nums[i] | 线性dp/二状态dp | 中等 |
0309-最佳买卖股票时机含冷冻期 | 如题 | 线性dp | 中等 |
题解 | 描述 | 解法 | 难度 |
---|---|---|---|
1044-最长重复子串 | 求字符串中最长的重复子串 | 二分+Rabin-Karp算法 | 困难 |
0097-交错字符串 | 字符串s1和s2是否能组成s3 | dp | 中等 |
0409-最长回文串 | 构造一个最长回文串 | 简单 | |
0208-实现Trie(前缀树) | 实现trie树 | 中等 | |
0211-添加与搜索单词-数据结构设计 | 字典树+dfs | 中等 | |
1858-包含所有前缀的最长单词 | 字典树应用 | 中等 |
题解 | 描述 | 解法 | 难度 |
---|---|---|---|
0144-二叉树的前序遍历 | 树的前序遍历 | 朴素-前序遍历 | 简单 |
0094-二叉树的中序遍历 | 树的中序遍历 | 朴素-中序遍历 | 简单 |
0145-二叉树的后序遍历 | 树的后序遍历 | 朴素-后序遍历 | 简单 |
0101-对称二叉树 | 判断一棵二叉树是否对称 | 特殊遍历 | 中等 |
0104-二叉树的最大深度 | 求树的最大深度 | 递归 | 简单 |
0102-二叉树的层序遍历 | 求二叉树的每层元素 | bfs | 简单 |
0226-翻转二叉树 | 翻转二叉树 | dfs | 简单 |
0112-路径总和 | 判断是否存在到达叶子且长度为x的路径 | dfs | 简单 |
0700-二叉搜索树中的搜索 | 在BST中查找值为x的节点 | dfs | 简单 |
0701-二叉搜索树中的插入操作 | 在BST中插入值x | dfs | 简单 |
0653-两数之和IV 输入BST | 在BST中找到和为k的两个数 | dfs | 简单 |
0235-二叉搜索树的最近公共祖先 | 求BST上两个节点的最近公共祖先 | dfs | 简单 |
0098-验证二叉搜索树 | 判断一棵树是不是BST | dfs | 简单 |
1609-奇偶树 | 判断一棵树是不是奇偶树 | 层次遍历 | 中等 |
0606-根据二叉树创建字符串 | 加括号的前序遍历 | 加括号的前序遍历 | 简单 |
将有序数组转换为二叉搜索树 | 从一个已排序数组构造高度平衡的二叉树 | 构建二分搜索树 | 简单 |
0100-相同的树 | 判断两棵二叉树是否相同 | 递归 | 简单 |
1469-寻找所有的独生节点 | 求二叉树的独生节点 | 递归 | 简单 |
剑指Offer27-二叉树的镜像 | 求二叉树的镜像 | 递归 | 简单 |
剑指Offer28-对称的二叉树 | 判断二叉树是否和其镜像相等 | 递归/层序遍历 | 中等 |
0543-二叉树的直径 | 二叉树的直径 | dfs | 简单/中等 |
0105-从前序与中序遍历序列构造二叉树 | 根据前序和中序序列构建二叉树 | 递归 | 中等 |
剑指Offer26-树的子结构 | 判断树是否是另一颗树的子结构 | 递归 | 中等 |
题解 | 描述 | 解法 | 难度 |
---|---|---|---|
1109-航班预订统计 | 区间更新,区间查询 | 线段树/差分 | 中等 |
0307-区域和检索-数组可修改 | 建树、点更新、区间查询 | 线段树 | 中等 |
0406-根据身高重建队列 | 将打乱的数组恢复顺序 | 二分+线段树 | 中等 |
0729-我的日程安排表I | 判断区间相交 | 动态开点线段树 | 中等 |
LCP0052-二叉搜索树染色 | 区间置x | 线段树区间更新、区间查询 | 中等 |
6066-统计区间中的整数数目 | 区间置x + 整个区间查询 | 动态开点线段树 | 困难 |
0732-我的日程安排表III | 区间最值 | 动态开点 + 区间最值 | 困难 |
题解 | 描述 | 解法 | 难度 |
---|---|---|---|
1109-航班预订统计 | 差分 | 差分 | 中等 |
0732-我的日程安排表III | 差分 | 差分 | 困难 |
1094-拼车) | 差分 | 差分 | 中等 |
题解 | 描述 | 解法 | 难度 |
---|---|---|---|
0020-有效的括号 | 括号匹配 | 栈 | 简单 |
0083-删除排序链表中的重复元素 | 删除链表汇总重复元素 | 链表 | 简单 |
0206-反转链表 | 反转链表 | 链表 | 简单 |
0203-移除链表元素 | 删除链表中值为x的元素 | 链表 | 简单 |
0021-合并两个有序链表 | 合并两个有序的链表为一个 | 链表 | 简单 |
0141-环形链表 | 判断链表是否有环 | 快慢指针 | 简单 |
0295-数据流的中位数 | 求动态数组的中位数 | 大小堆维护中位数 | 困难 |
面试题17.14.最小K个数 | 求数组最小k位数 | 优先队列/堆 | 中等 |
0502-IPO | 求k次的最大利润 | 优先队列/堆 | 困难 |
0234-回文链表 | 判断链表形式的回文串 | 把值复制到数组中进行处理 | 简单 |
剑指Offer24-反转链表 | 反转链表 | 链表 | 简单 |
0187-重复的DNA序列 | 求出现一次以上的所有子串 | 哈希表 | 中等 |
0239-滑动窗口最大值 | 滑动窗口的最大值 | 堆 | 中等 |
0155-最小栈 | 最小栈 | 栈 | 中等 |
378-有序矩阵中第K小的元素 | 大顶堆 | 堆 | 中等 |
0946-验证栈序列 | 判断栈的出栈序列是否合法(栈元素唯一) | 栈 | 中等 |
0261-以图判树 | 判断一个图是不是一棵树 | 并查集 | 中等 |
剑指Offer51-数组中的逆序对 | 求逆序对个数 | 离散化+树状数组 | 困难 |
0493-翻转对 | 求翻转对个数 | 二维偏序问题,树状数组 | 困难 |
0315-计算右侧小于当前元素的个数 | 求逆序对个数 | 二维偏序问题,树状数组 | 困难 |
0715-Range模块 | 区间合并、区间删除、区间查询 | cpp set 模拟 | 困难 |
题解 | 描述 | 解法 | 难度 |
---|---|---|---|
6043-统计包含每个点的矩形数目 | 求点数组中的每个点在多少个矩阵里 | 树状数组 | 中等 |
0493-翻转对 | 求翻转对个数 | 二维偏序问题,树状数组 | 困难 |
0315-计算右侧小于当前元素的个数 | 求逆序对个数 | 二维偏序问题,树状数组 | 困难 |
题解 | 描述 | 解法 | 难度 |
---|---|---|---|
剑指Offer59-II-队列的最大值 | 给队列实现均摊时间复杂度为O(1)的GetMax() |
单调队列 | 中等 |
题解 | 描述 | 解法 | 难度 |
---|---|---|---|
0201-数字范围按位与 | 求区间内所有数相与的结果 | 位运算 | 中等 |
0136-只出现一次的数字 | 求数组中只出现一次的数 | 位运算 | 简单 |
0600-不含连续1的非负整数 | 求0<=x<=n的,二进制形式下没有连续1的x的个数 | 位运算/dp | 困难 |
0371-两整数之和 | 不用+实现加法 | 位运算 | 简单 |
0405-数字转换为十六进制数 | 有符号十进制转16进制 | 位运算 | 简单 |
0260-只出现一次的数字III | 求数组中只出现了一次的两个数 | 位运算/脑筋急转弯 | 中等 |
剑指Offer56-II.数组中数字出现的次数II | 数组中有一个只出现一次的数x,其他数都出现了3次,求x | 位运算 | 中等 |
0868-二进制间距 | 求数的二进制形式下两个相邻1的最大距离 | 位运算 | 简单 |
题解 | 描述 | 解法 | 难度 |
---|---|---|---|
0457-环形数组是否存在循环 | 求按数组内容为下标进行遍历,是否能得到一个环 | 暴力模拟/快慢指针 | 中等 |
0556-重塑矩阵 | reshape matrix | 模拟 | 简单 |
0036-有效的数独 | 判断数独是否有效 | 模拟 | 简单 |
0073-矩阵置零 | 以O(1)的空间复杂度将矩阵0元素所在的行和列全部置为0 | 模拟 | 中等 |
0232-用栈实现队列 | 用栈来模拟队列 | 模拟 | 中等 |
0844-比较含退格的字符串 | 对两个字符串进行编辑操作后,判断是否相等 | 模拟 | 中等 |
0005-最长回文子串 | 求最长回文串 | 模拟 | 简单 |
0528-按权重随机选择 | 随机从区间中取出一个数,并返回下标 | 模拟 | 中等 |
0706-设计哈希映射 | 实现一个哈希表 | 模拟 | 中等 |
0068-文本左右对齐 | 按要求生成字符串 | 模拟 | 中等 |
0447-回旋镖的数量 | 求回旋镖个数 | 脑筋小转弯/模拟 | 中等 |
0725-分隔链表 | 将链表元素按顺序分为k组 | 链表 | 简单 |
1114-按序打印 | 多线程顺序打印 | 多线程顺序打印 | 简单 |
剑指Offer09(用两个栈实现队列 | 用两个栈模拟一个队列 | 模拟 | 简单 |
0415-字符串相加 | 两个字符串数字相加 | 模拟 | 简单 |
0166-分数到小数 | 将整数除法中循环节部分用括号标识 | 模拟 | 中等 |
0482-密钥格式化 | 将字符串中的字母和数字分组 | 模拟 | 简单 |
0273-整数转换英文表示 | 将非负整数转换为英文单词 | 模拟 | 困难 |
0352-将数据流变为多个不相交区间 | 不断插入新的整数,维护区间 | 模拟 | 困难 |
0029-两数相除 | 不使用乘法、除法、模实现int除法 | 二分 | 困难 |
0038-外观数列 | 外观数列 | 模拟 | 简单 |
1115-交替打印FooBar | 多线程顺序打印 | 多线程顺序打印指定个数 | 简单 |
1116-打印零与奇偶数 | 多线程顺序打印 | 多线程顺序打印指定个数 | 困难 |
0984-不含AAA或BBB的字符串 | 生成指定格式的字符串 | 模拟 | 中等 |
2109-向字符串添加空格 | 给字符串指定位置添加空格 | 模拟 | 简单 |
2110-股票平滑下跌阶段的数目 | 求平滑下跌的数目 | 模拟 | 简单 |
0306-累加数 | 判断一个字符串是否可以拆分成加法序列 | 模拟 | 中等 |
2170-使数组变成交替数组的最少操作数 | 将一个数组修改为交替数列的最小操作数 | 模拟 | 中等 |
0838-推多米诺 | 求多米诺骨牌的最终状态 | 模拟 | 中等 |
1706-球会落何处 | 求小球从最高层掉落后的状态 | 找规律+模拟 | 中等 |
0537-复数乘法 | 复数乘法 | 模拟 | 简单 |
0393-UTF-8编码 | 判断是不是合法的utf8编码 | 按定义模拟 | 简单 |
1427-字符串的左右移 | 字符串字符循环左右移 | 按定义模拟 | 简单 |
2043-简易银行系统 | 模拟一个简易银行交易系统 | 按定义模拟 | 简单 |
meituan-006-小团的神秘暗号 | 加密字符串解码 | 模拟 | 简单 |
0008-字符串转换整数(atoi | 实现atoi() | 模拟 | 中等 |
题解 | 描述 | 解法 | 难度 |
---|---|---|---|
2171-拿出最少数目的魔法豆 | 对数组中的数做任意次减法,求最后非0数全相等的最少操作次数 | 排序+前缀和 | 中等 |
0969-煎饼排序 | 对随机数组使用reverse(arr[0...k-1])的方式排序 | 将reverse_k等价转换 | 中等 |
meituan-003-小美的跑腿代购 | 结构体排序 | 结构体排序 | 简单 |
剑指Offer66.构建乘积数组 | 前缀积和后缀积 | 简单 | |
0041-缺失的第一个正数 | 原地哈希求缺失的第一个正数 | 困难 | |
0442-数组中重复的数据 | 原地哈希求缺失的第一个正数 | 中等 |
题解 | 描述 | 解法 | 难度 |
---|---|---|---|
0002-两数相加 | 两个非负数用链表表示,求和 | 模拟 | 简单 |
6093-设计一个文本编辑器 | 设计一个编辑器(链表、deque) | 模拟 | 困难 |
- 1377-矩阵中战斗力最弱的k行
- 1137-第N个泰波那契数
- 0350-两个数组的交集II
- 0121-买卖股票的最佳时机
- 0387-字符串中的第一个唯一字符
- 0383-赎金信
- 0242-有效的字母异位词
- 1646-获取生成数组中的最大值
- 1480-一维数组的动态和
- 1588-所有奇数长度子数组的和
- 0056-合并区间
- 0075-颜色分类
- 剑指Offer10-I.斐波那契数列
- 0441-排列硬币
- 0434-字符串中的单词数
- 0412-FizzBuzz
- 1078-Bigram分词
- 1748-唯一元素的和
- 1189-“气球”的最大数量
- 1380-矩阵中的幸运数
- 1791-找出星型图的中心节点
- 2169-得到0的操作数
- 0717-1比特或2比特
- 0917-仅仅反转字母
- 2016-增量元素之间的最大差值
- 0599-两个列表的最小索引总和
- 0720-词典中最长的单词
- meituan-001-小美的用户名
- 0448-找到所有数组中消失的数字