自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode967. 连续差相同的数字

从第一个数字(可能是一到九)开始,然后每次以最后一个进行改变搜索(+k,-k)。

2023-10-15 22:52:18 131

原创 leetcode1020. 飞地的数量

封闭岛屿结合面积,是封闭岛屿就加上面积,不是就不是飞地。

2023-10-15 04:42:26 126

原创 leetcode1254. 统计封闭岛屿的数目

关键点在于判断整个岛屿否有地方与边界相连,用一个变量记录,任意位置与边界相连就是不封闭的。

2023-10-15 04:29:53 126

原创 单调栈总结

常见做法是从后往前遍历数组,栈顶元素如果小于当前元素就出栈,保持单调性。常见做法是从前往后遍历数组,栈顶元素如果大于当前元素就出栈,保持单调性。自底向上的单调递减栈,一般用来寻找下一个更大的元素。自底向上的单调递增栈,一般用来寻找前一个更小的元素。

2023-10-14 04:03:40 397

原创 滑动窗口总结

主要是缩小窗口的时机:刚好满足条件时缩小,看是否左边有不需要的。不定长滑窗:最标准形式,针对问题可适当简化。定长滑动窗口:缩小窗口的时机是窗口大小达到了。

2023-10-14 03:46:26 59

原创 Rabin-Karp 字符串哈希算法总结

第二种:判断字符串是否相等场景,不用一个个的对字符串进行计算,而是用hash唯一表示一个字符串。第一种回文场景:正序hash值和逆序hash值的计算方法,相等时说明是回文。

2023-10-14 03:29:15 302

原创 OJ常见输入输出总结

【代码】OJ常见输入输出总结。

2023-09-11 10:22:15 103

原创 leetcode13. 罗马数字转整数

重点就是小点的数在前表示减法,在后表示加法。

2023-08-30 11:55:32 48

原创 leetcode224. 基本计算器

【代码】leetcode224. 基本计算器。

2023-08-29 17:53:58 59

原创 leetcode227. 基本计算器 II

注意预处理时需要对负号进行处理,目的是不在遍历过程中再判断处理,麻烦。计算发生在遇到右括号或者是当前运算符的优先级低于栈内符号的优先级时。一个栈用来保存数字,一个栈用来保存计算符号。通用计算器模板,分为两个栈。

2023-08-29 17:21:48 47

原创 leetcode148. 排序链表

归并排序的思想,先对链表进行对半切割,之后再进行重组。

2023-08-02 12:00:46 43

原创 leetcode347. 前 K 个高频元素

python自带的堆是小顶堆,所以可以根据元素的重复次数维护一个大小为k的小顶堆。这样堆里的元素就是前k的高频元素了。

2023-08-01 14:56:52 43

原创 leetcode32. 最长有效括号

【代码】leetcode32. 最长有效括号。

2023-07-06 20:07:10 30

原创 227. 基本计算器 II

基本计算器,用栈实现。

2023-05-25 11:19:44 33

原创 leetcode498. 对角线遍历

【代码】剑指 Offer II 014. 字符串中的变位词。

2023-05-25 10:20:04 68

原创 剑指 Offer II 014. 字符串中的变位词

【代码】剑指 Offer II 014. 字符串中的变位词。

2023-05-25 10:18:31 34

原创 面试题 01.05. 一次编辑

长度不相等时都转化为第一个长第二个短,这样在遇到不相同字符的时候,短的字符的指针原地等待1次。分为长度相等和不相等两种情况,长度相等时就逐一判断两个单词之间不相等的个数。

2023-05-25 10:14:58 33

原创 leetcode134. 加油站

【代码】leetcode134. 加油站。

2023-05-24 11:27:17 40

原创 leetcode2401. 最长优雅子数组

【代码】leetcode2401. 最长优雅子数组。

2023-05-12 22:00:21 58

原创 leetcode179. 最大数

def largestNumber(self, nums): """ :type nums: List[int] :rtype: str """ s = map(str,nums) def compare(a,b): if a+b == b+a: return 0 elif a + b > b+a:

2023-05-12 17:36:06 39

原创 leetcode415. 字符串相加

【代码】leetcode415. 字符串相加。

2023-05-12 16:47:35 35

原创 926. 将字符串翻转到单调递增

初始状态是分界点位于最前面,也就是将后面所有0变为1所需要的次数就是0的个数。找遍所有分界点将分界点前面的变为0,后面的变为1。之后遍历分界点的位置,在初始状态上进行改变。

2023-05-12 16:25:39 32

原创 排序算法总结

【代码】排序算法总结。

2023-04-07 10:04:24 283

原创 leetcode215. 数组中的第K个最大元素

根据快排的分割点,确定k个元素在前面还是后面加快遍历。

2023-04-07 10:00:01 272

原创 leetcode889. 根据前序和后序遍历构造二叉树

现在在我们的递归步骤中,左分支由 pre[1 : L+1] 和 post[0 : L] 重新分支,而右分支将由 pre[L+1 : N] 和 post[L : N-1] 重新分支。所以 pre[1] = post[L-1](因为结点的值具有唯一性),因此 L = post.indexOf(pre[1]) + 1 左分支长度。我们知道左分支的头节点为 pre[1],是前序遍历根节点后面的第一个位置。(根结点) (前序遍历左分支) (前序遍历右分支)(后序遍历左分支) (后序遍历右分支) (根结点)

2023-03-09 16:05:51 66

原创 leetcode139. 单词拆分

遍历整个字符串,转移方程就是当前i位置之前的所有的j, [j:i]是否能组成单词且j是否能被拆分。回溯算法,用一个哈希表记录当前的划分方法是否可以,由于相当于深度优先,如果返回了,说明这种划分方法不行,标记下来防止重复访问。dp定义为以当前位置i为结尾子串的是否能被拆分。动态规划,枚举当前位置之前的所有起点。

2023-03-05 11:36:59 48

原创 leetcode152. 乘积最大子数组

【代码】leetcode152. 乘积最大子数组。

2023-02-28 21:49:47 60

原创 leetcode221. 最大正方形

重点是转移方程的来历。

2023-02-28 20:03:36 61

原创 leetcode394. 字符串解码

【代码】leetcode394. 字符串解码。

2023-02-28 17:01:12 40

原创 leetcode621. 任务调度器

【代码】leetcode621. 任务调度器。

2023-02-28 11:41:08 57

原创 leetcode647. 回文子串

【代码】leetcode647. 回文子串。

2023-02-27 22:43:11 33

原创 leetcode406. 根据身高重建队列

从高到低排序的原因是矮的人插入其所在位置时不会对高的产生影响。这样前面排好了,把矮的人插入其应该所在的位置就行。

2023-02-27 20:53:34 35

原创 leetcode238. 除自身以外数组的乘积

再计算自身右边的数组元素的的乘积,乘以之前存入的当前元素左边的数组元素乘积。先计算自身左边的数组元素的乘积存入答案数组。就是除去当前元素自身以外的数组的乘积。

2023-02-27 19:51:41 41

原创 leetcode128. 最长连续序列

只找最左边的那个端点,找到之后统计最长能达到的长度,并且更新。只用更新端点的值是因为一段区间的中间点是都访问过的不会再取到。为了方便查找用哈希表存储数据。所以+1和-1只会遇到端点。

2023-02-27 17:11:17 95

原创 leetcode62. 不同路径

易发现规律dp[i][j] = dp[i-1][j] + dp[i][j-1]优化一下,只记录上一行和当前行的数据。

2023-02-27 15:33:30 30

原创 leetcode49. 字母异位词分组

list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。异位词排序之后变成相同的词,可以作为哈希表的key,排序后相同的key的词就是移位词。

2023-02-27 11:05:06 42

原创 leetcode407. 接雨水 II

和我们访问到的他的四周的元素进行高度的比较,要是高于h,说明当前的位置可以当作新的边界。对访问过的数进行记录,由于我们采用的是优先队列保证了当前h是最小的那个边界出口。基本思路,把每一圈看作是一个围栏,从外向里的缩小这个围栏。

2023-02-27 10:38:50 35

原创 leetcode1541. 平衡括号字符串的最少插入次数

【代码】leetcode1541. 平衡括号字符串的最少插入次数。

2023-02-26 22:10:26 66

原创 leetcode921. 使括号有效的最少添加

【代码】leetcode921. 使括号有效的最少添加。

2023-02-26 21:01:54 36

原创 leetcode20. 有效的括号

【代码】leetcode20. 有效的括号。

2023-02-26 20:28:48 30

空空如也

空空如也

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

TA关注的人

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