自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(96)
  • 收藏
  • 关注

原创 二刷hot100-31.下一个排列

从右向左找到第一个升序对(nums[i] < nums[i+1]),然后从右向左找到第一个大于nums[i]的元素,记录为j,交换(i,j);反转(i+1,nums.length - 1)

2026-09-22 12:30:50 59

原创 二刷hot100-75.颜色分类

先都设为2,遇到0/1设1,遇到0,就设0;0/1的位置用指针,2的位置靠遍历。

2026-09-20 15:27:32 158

原创 二刷hot100-287.寻找重复数

像之前那道链表题,判断是否有环,且环在何处;快慢指针找到重合处,在定义指针和慢指针同时出发,相遇处为入环口。

2026-09-20 15:27:15 17

原创 二刷hot100-152.乘积最大子数组

【代码】二刷hot100-152.乘积最大子数组。

2026-09-20 15:26:58 144

原创 二刷hot100-32.最长有效括号

【代码】二刷hot100-32.最长有效括号。

2026-09-20 15:26:44 16

原创 二刷hot100-72.编辑距离

和上一道感觉一模一样,状态方程需要根据题意改变,增,删,改三种情况是如何;元素相等不需要操作是如何,核心还是状态转移方程,dp数组定义和上一道几乎一模一样。

2026-09-20 15:26:33 29

原创 二刷hot100-300.最长递增子序列

【代码】二刷hot100-300.最长递增子序列。

2026-09-18 16:31:01 9

原创 二刷hot100-416.分割等和子集

背包问题,背包容量是num数组元素和的一半;物品重量和价值都是数组元素;当背包的容量等于价值等于target,代表能行。

2026-09-18 16:30:47 30

原创 二刷hot100.5.最长回文子串

分两种情况,若最长回文子串为奇数长度,遍历的每个字符为中心,两边移动左右边界记录最长;若为偶数,遍历的字符和下一个字符为中心两字符;两边移动左右边界记录最长;

2026-09-18 16:30:37 23

原创 二刷hot100-62.不同路径

核心:dp[i][j] = dp[i - 1][j] + dp[i][j - 1];初始化第一行第一列都为1;记得不要混淆步数和路径数。

2026-09-18 16:30:29 209

原创 二刷hot100-64.最小路径和

状态转移方程:grid[i][j] = Math.min(grid[i][j-1],grid[i-1][j]) + grid[i][j];还是要先初始化第一行和第一列。

2026-09-18 16:30:15 11

原创 二刷hot100-1143.最长公共子序列

dp数组的含义:表示长度为i-1和j-1的两个字符串的最长公共子序列;

2026-09-17 14:29:40 119

原创 二刷hot100-73.矩阵置零

但在两次循环之前,要对第一行和第一列也进行标记,如果有0,则标记为true,在最后将第一行或者第一列都覆盖为0。二次循环内部元素,这次要反过来看,如果元素对应的第一行或者第一列为0,说明要置当前元素为0;循环内部元素,如果为0,则在对应的第一行和第一列进行标记;把第一行和第一列当作标记;

2026-09-17 14:29:30 170

原创 二刷hot100-54.螺旋矩阵

思路简单,但是比较麻烦,要预先设定四个边界,在循环里一条边一条边的遍历。

2026-09-17 14:29:15 14

原创 二刷hot100-48.旋转图像

【代码】二刷hot100-48.旋转图像。

2026-09-17 14:29:05 11

原创 二刷hot100-240.搜索二维矩阵Ⅱ

如同二叉搜索树一样,找到一个合适的根节点,来回比较迭代循环。

2026-09-17 14:28:55 7

原创 二刷hot100-136.只出现一次的数字

位上相同的为0,不同的才为1,让res不断与数组元素异或,最后留下的就是只出现一次的。

2026-09-08 13:02:13 10

原创 二刷hot100-139.单词拆分

和前两到有点不一样;

2026-09-08 13:02:01 11

原创 二刷hot100-323.零钱兑换

【代码】二刷hot100-323.零钱兑换。

2026-09-08 13:01:52 8

原创 二刷hot100-169.多数元素

【代码】二刷hot100-169.多数元素。

2026-09-08 13:01:42 136

原创 二刷hot100-279.完全平方数

【代码】二刷hot100-279.完全平方数。

2026-09-08 13:01:31 8

原创 二刷hot100-198。打家劫舍

【代码】二刷hot100-198。打家劫舍。

2026-09-07 11:02:09 155

原创 二刷hot100-118.杨辉三角

更像是一个模拟过程,

2026-09-07 11:01:59 12

原创 二刷hot100-763.划分字母区间

定义left代表分割后的每个字符串的起始位置,right代表该字符串的结束位置,不过right会在遍历过程中更新,直到取得最终值。先创建数组存储每个字母最后出现的位置;

2026-09-07 11:01:50 148

原创 二刷hot100-45.跳跃游戏Ⅱ

否则就判断是否到达之前一次覆盖距离的最大值,如果达到,更新覆盖距离,res+1;相比1,要求出到达最后一个元素的最小跳跃次数。如果能覆盖到最后一个,那么就res+1返回;还是看覆盖面,每一次都求出来最大覆盖距离;

2026-09-07 11:01:25 52

原创 二刷hot100-55.跳跃游戏

很巧妙,不去管某一个位置点,而是求取过程中最远覆盖面,若是覆盖到最后一个元素,则返回true;

2026-09-07 11:00:58 30

原创 二刷hot100-84.柱状图中最大的矩形

所以栈内始终需要有一个元素;定义一个新数组,相比之前的数组,在起始和结尾各加一个新元素0;且求取矩形面积需要用到三个元素:当前遍历元素、栈口弹出元素,当前栈口元素;还是单调栈,与之前不同的是,之前要求栈内元素递减,这道题要求递增。

2026-08-19 15:02:55 133

原创 二刷hot100-394.字符串解码

遇到字母,直接append,遇到数字,则记录下来;遇到左括号去递归,遇到右括号则退出循环;这里i++在判断之前执行,说明每次判断时i已经指向下一个元素了。定义了一个全局变量i,指向字符数组当前操作的位置;

2026-08-19 15:02:44 30

原创 二刷hot100-155.最小栈

巧妙,栈中存入数组,长度为2,第一个为元素本身,第二个为此时栈的最小值;在push时比较当前元素和当前最小值就能得到最新的最小值。

2026-08-19 15:02:33 27

原创 二刷hot100-739.每日温度

用了单调栈,栈内存的是温度数组的下标索引,栈内加元素直到遇到比栈口大的值,一直出栈直至栈口元素大于当前元素,入栈;

2026-08-19 15:02:21 32

原创 二刷hot100-295.数据流的中位数

且保证两堆大小差最多为1且此时最大堆大小较大,最小堆的值均大于最大堆。用两个堆:最大堆和最小堆;

2026-08-19 15:02:12 37

原创 二刷hot100-20.有效的括号

用栈来完成,遇到左括号,就压入对应的右括号,遇到右括号,就比较栈顶元素,一致则弹出;

2026-08-18 10:38:07 28

原创 二刷hot100-215.数组中第k个最大元素

有点复杂:随机找一个基准索引,令该元素的右边均小于他,左边均大于他;之后交换基准元素和l对应元素;

2026-08-18 10:37:54 17

原创 二刷hot100-347.前k个高频元素

用到了小顶堆,始终在堆里保持k个当前高频的元素,堆口是元素中最低频的,用于随时切换;

2026-08-18 10:37:42 37

原创 二刷hot100-4.寻找两个正序数组的中位数

a,b两个指针遍历两数组;left和right记录每次a,b指针对应的元素。

2026-08-18 10:37:33 24

原创 二刷hot100-153.寻找旋转排序数组中的最小值

和之前二分查找的思路有点像,注意:right = nums.length - 1。

2026-08-18 10:37:23 14

原创 二刷hot100-121.买卖股票的最佳时机

贪心算法的思路都巧妙,尽量不要总结规律,见一道记一道;

2026-08-17 15:42:33 33

原创 二刷hot100-33.搜索旋转排序数组

在二分查找的基础上加了一些判断,因为数组并非单纯的有序;

2026-08-17 15:42:20 27

原创 二刷hot100-70.爬楼梯

dp数组初始化:dp[n+1];

2026-08-17 15:42:10 54

原创 二刷hot100-34.在排序数组中查找元素的第一个和最后一个位置

很巧妙,两次二分查找,第一次找目标元素首先出现的位置,第二次找目标元素+1首先出现的位置,该位置减一就是目标元素最后一次出现的位置;

2026-08-17 15:41:58 32

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除