![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode题解
文章平均质量分 51
XMUJason
应用统计硕士在读,目前在从事和大模型相关的实习工作,日常分享学习笔记,欢迎对大模型感兴趣的小伙伴一起交流。
展开
-
【Leetcode | Python】239. 滑动窗口最大值 [队列][数组][滑动窗口]
【代码】【Leetcode | Python】239. 滑动窗口最大值 [队列][数组][滑动窗口]原创 2024-03-30 13:18:37 · 327 阅读 · 0 评论 -
【Leetcode | Python】48. 旋转图像 [数组][数学][矩阵]
因为题目要求在原矩阵上修改,所以需要先复制一份暂存矩阵使得矩阵旋转90度的规律是:矩阵的第 i 行 = 逆序遍历每一行取每一行的第 i 列元素原创 2024-03-28 17:07:24 · 452 阅读 · 1 评论 -
【Leetcode | Python】42. 接雨水 [栈][数组][双指针][动态规划][单调栈]
对于每一个柱子,它所能接到的雨水量并不取决于它相邻左右两侧的柱子高度,而取决于它【左右两侧的最高的柱子高度】;类似于 11. 盛最多水的容器,由于“短板效应”,每个柱子的接水量取决于它左右两侧最高的柱子中较矮的那一个;使用对向双指针,遍历的同时,完成:判断哪边是短板;根据短板计算当前柱子的接水量;将短板向内移动;更新当前左右两侧最高的柱子高度。原创 2024-03-19 09:08:30 · 684 阅读 · 0 评论 -
【Leetcode | Python】49. 字母异位词分组 [数组][哈希表][字符串][排序]
识别字母异位词的根据是 “ 所有字母异位词排序后的字符串是相同的 ”使用dict.get(),default设置为 [],可以快速判断字典中是否已存在某个 keysorted(str) 的结果是列表,列表是不可哈希的,需要转化为 tuple 再作为字典的 key原创 2024-03-14 10:55:46 · 453 阅读 · 0 评论 -
【Leetcode | Python】128. 最长连续序列 [并查集][数组][哈希表]
一个数组的连续序列非常多,首先需要确定如何【不重复、不遗漏】地找到所有的连续序列。对于数组中的一个数字 num,如果 num - 1 不在数组中,那么这个数字 num 就是连续序列的起点。一旦找到连续序列起点,就开始向后查找连续序列终点。对于数组中的一个数字 num,如果 num + 1 不在数组中,那么这个数字 num 就是连续序列的终点。除此之外,为了对同一个数字进行重复计算,先把数组转化为集合。原创 2024-03-17 11:10:48 · 463 阅读 · 1 评论 -
【Leetcode | Python】11. 盛最多水的容器 [贪心][数组][双指针]
容器的盛水容积取决于容器【底边长度】和【短板高度】对于某个状态下的容器:如果将长板向内移动,则容积必然减小;(底边长度减小,且短板不可能变长)如果将短板向内移动,则容积有可能增大;(底边长度减小,但短板有可能变长)从容器两端向内逐渐缩小底边长度,找到容积最大时的时刻原创 2024-03-18 13:11:27 · 451 阅读 · 0 评论 -
【Leetcode | Python】15. 三数之和 [排序][双指针]
双指针法解决三数之和问题,Python代码逐行注释。原创 2024-02-20 15:11:22 · 498 阅读 · 1 评论 -
【Leetcode | Python】3. 无重复字符的最长子串 [哈希表][字符串][滑动窗口]
**本题的核心在于维护一个队列(滑动窗口),保证队列中的字符串始终是无重复的。****对于一个即将要加入队列的新元素 $X$,如果新元素 $X$ 在当前队列中出现过,则从 *队头* 持续删除元素,直到队列中不再包括新元素 $X$,再将新元素 $X$ 添加至 *队尾*。**原创 2024-01-29 13:27:18 · 2115 阅读 · 0 评论 -
【Leetcode | Python】53. 最大子数组和 [动态规划]
本题的核心在于维护一个列表 ,列表中第 个元素表示以数组中第 个元素结尾的最大子数组和。以数组中第 个元素结尾的最大子数组和,要么是元素 自身(前面的最大子数组和小于0),要么是元素 加上前面的最大子数组和(前面的最大子数组和大于0)对于数组中第 个元素:公式表示如下:dp[i]={dp[i−1]+nums[i],if dp[i−1]>0nums[i],if dp[i−1]≤0dp[i] = \begin{cases} dp[i - 1] + nums[i], & \text{if }原创 2024-01-25 10:38:41 · 1786 阅读 · 1 评论 -
【Leetcode | Python】2865. 美丽塔 I [前后缀分解][单调栈]
第 i 个元素作为山顶时山顶左侧的最大高度和 = 单调栈栈顶元素 j 作为山顶时山顶左侧的最大高度和 + 单调栈栈顶 j 与第 i 个元素之间的距离 * 山顶高度原创 2024-01-24 16:34:04 · 581 阅读 · 1 评论