合集-leetcode

摘要:977.有序数组的平方 题目建议: 本题关键在于理解双指针思想 题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/ 文章讲解:https://programmercarl.com/0977.有序数组的平方.html 视频讲解: h 阅读全文
posted @ 2024-05-24 00:25 forrestr 阅读(50) 评论(0) 推荐(0)
摘要:704. 二分查找 题目建议: 大家能把 704 掌握就可以,35.搜索插入位置 和 34. 在排序数组中查找元素的第一个和最后一个位置 ,如果有时间就去看一下,没时间可以先不看,二刷的时候在看。 先把 704写熟练,要熟悉 根据 左闭右开,左闭右闭 两种区间规则 写出来的二分法。 题目链接:htt 阅读全文
posted @ 2024-05-23 22:16 forrestr 阅读(85) 评论(0) 推荐(0)
摘要:203.移除链表元素 建议: 本题最关键是要理解 虚拟头结点的使用技巧,这个对链表题目很重要。 题目链接/文章讲解/视频讲解::https://programmercarl.com/0203.移除链表元素.html 思考 设置一个虚拟的dummy节点,方便代码逻辑一致,不然要专门处理头节点。 定义一 阅读全文
posted @ 2024-05-24 21:29 forrestr 阅读(96) 评论(0) 推荐(0)
摘要:24. 两两交换链表中的节点 用虚拟头结点,这样会方便很多。 本题链表操作就比较复杂了,建议大家先看视频,视频里我讲解了注意事项,为什么需要temp保存临时节点。 题目链接/文章讲解/视频讲解: https://programmercarl.com/0024.两两交换链表中的节点.html 思考 需 阅读全文
posted @ 2024-05-25 17:51 forrestr 阅读(84) 评论(0) 推荐(0)
摘要:242.有效的字母异位词 建议: 这道题目,大家可以感受到 数组 用来做哈希表 给我们带来的遍历之处。 题目链接/文章讲解/视频讲解: https://programmercarl.com/0242.有效的字母异位词.html 思考 很简单的一道题,需要记住python获取ascii值的函数时ord 阅读全文
posted @ 2024-05-27 23:11 forrestr 阅读(94) 评论(0) 推荐(0)
摘要:454.四数相加II 建议:本题是 使用map 巧妙解决的问题,好好体会一下 哈希法 如何提高程序执行效率,降低时间复杂度,当然使用哈希法 会提高空间复杂度,但一般来说我们都是舍空间 换时间, 工业开发也是这样。 题目链接/文章讲解/视频讲解:https://programmercarl.com/0 阅读全文
posted @ 2024-05-29 00:35 forrestr 阅读(94) 评论(0) 推荐(0)
摘要:344.反转字符串 建议: 本题是字符串基础题目,就是考察 reverse 函数的实现,同时也明确一下 平时刷题什么时候用 库函数,什么时候 不用库函数 题目链接/文章讲解/视频讲解:https://programmercarl.com/0344.反转字符串.html 思考 太简单了 class S 阅读全文
posted @ 2024-05-29 21:24 forrestr 阅读(62) 评论(0) 推荐(0)
摘要:232.用栈实现队列 大家可以先看视频,了解一下模拟的过程,然后写代码会轻松很多。 题目链接/文章讲解/视频讲解:https://programmercarl.com/0232.用栈实现队列.html 思考 两个栈,栈1用于入队列,栈2用于出队列,栈2为空时,如果要出队列,把栈1的元素逐个弹出到栈2 阅读全文
posted @ 2024-06-01 00:18 forrestr 阅读(91) 评论(0) 推荐(0)
摘要:20. 有效的括号 讲完了栈实现队列,队列实现栈,接下来就是栈的经典应用了。 大家先自己思考一下 有哪些不匹配的场景,在看视频 我讲的都有哪些场景,落实到代码其实就容易很多了。 题目链接/文章讲解/视频讲解:https://programmercarl.com/0020.有效的括号.html 思考 阅读全文
posted @ 2024-06-01 15:09 forrestr 阅读(58) 评论(0) 推荐(0)
摘要:数组 347. 前 K 个高频元素 给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 思考 哈希+内置排序 class Solution: def topKFrequent(self, nums: List[int], k: int) 阅读全文
posted @ 2024-06-01 18:58 forrestr 阅读(75) 评论(0) 推荐(0)
摘要:239. 滑动窗口最大值 (一刷至少需要理解思路) 之前讲的都是栈的应用,这次该是队列的应用了。 本题算比较有难度的,需要自己去构造单调队列,建议先看视频来理解。 题目链接/文章讲解/视频讲解:https://programmercarl.com/0239.滑动窗口最大值.html 思考 用单调队列 阅读全文
posted @ 2024-06-03 22:08 forrestr 阅读(84) 评论(0) 推荐(0)
摘要:递归遍历 (必须掌握) 二叉树的三种递归遍历掌握其规律后,其实很简单 题目链接/文章讲解/视频讲解:https://programmercarl.com/二叉树的递归遍历.html 注意前 中 后指的是根节点在前、中、后次序进行遍历。 前序遍历 # Definition for a binary t 阅读全文
posted @ 2024-06-05 18:42 forrestr 阅读(60) 评论(0) 推荐(0)
摘要:102. 二叉树的层序遍历 看完本篇可以一口气刷十道题,试一试, 层序遍历并不难,大家可以很快刷了十道题。 题目链接/文章讲解/视频讲解:https://programmercarl.com/0102.二叉树的层序遍历.html # Definition for a binary tree node 阅读全文
posted @ 2024-06-05 23:19 forrestr 阅读(56) 评论(0) 推荐(0)
摘要:第77题. 组合 给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。 示例: 输入: n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 思考 回溯的模板 void backtracking(参数) 阅读全文
posted @ 2024-06-06 22:35 forrestr 阅读(85) 评论(0) 推荐(0)
摘要:104.二叉树的最大深度 (优先掌握递归) 什么是深度,什么是高度,如何求深度,如何求高度,这里有关系到二叉树的遍历方式。 大家 要先看视频讲解,就知道以上我说的内容了,很多录友刷过这道题,但理解的还不够。 题目链接/文章讲解/视频讲解: https://programmercarl.com/010 阅读全文
posted @ 2024-06-07 21:00 forrestr 阅读(124) 评论(0) 推荐(0)
摘要:110.平衡二叉树 (优先掌握递归) 再一次涉及到,什么是高度,什么是深度,可以巩固一下。 题目链接/文章讲解/视频讲解:https://programmercarl.com/0110.平衡二叉树.html # Definition for a binary tree node. # class T 阅读全文
posted @ 2024-06-07 23:52 forrestr 阅读(73) 评论(0) 推荐(0)
摘要:子串、子序列 300.最长递增子序列 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 class Solution: de 阅读全文
posted @ 2024-06-11 23:41 forrestr 阅读(131) 评论(0) 推荐(0)
摘要:797.所有可能的路径 给你一个有 n 个节点的 有向无环图(DAG),请你找出所有从节点 0 到节点 n-1 的路径并输出(不要求按特定顺序) graph[i] 是一个从节点 i 可以访问的所有节点的列表(即从节点 i 到节点 graph[i][j]存在一条有向边)。 思考 深搜dfs模板题。 c 阅读全文
posted @ 2024-06-12 21:12 forrestr 阅读(117) 评论(0) 推荐(0)
摘要:513. 找树左下角的值 本题递归偏难,反而迭代简单属于模板题, 两种方法掌握一下 题目链接/文章讲解/视频讲解:https://programmercarl.com/0513.找树左下角的值.html 思考 层序遍历秒了 # Definition for a binary tree node. # 阅读全文
posted @ 2024-06-13 22:14 forrestr 阅读(65) 评论(0) 推荐(0)
摘要:654.最大二叉树 又是构造二叉树,昨天大家刚刚做完 中序后序确定二叉树,今天做这个 应该会容易一些, 先看视频,好好体会一下 为什么构造二叉树都是 前序遍历 题目链接/文章讲解:https://programmercarl.com/0654.最大二叉树.html 视频讲解:https://www. 阅读全文
posted @ 2024-06-15 01:17 forrestr 阅读(52) 评论(0) 推荐(0)
摘要:530.二叉搜索树的最小绝对差 需要领悟一下二叉树遍历上双指针操作,优先掌握递归 题目链接/文章讲解:https://programmercarl.com/0530.二叉搜索树的最小绝对差.html 视频讲解:https://www.bilibili.com/video/BV1DD4y11779 思 阅读全文
posted @ 2024-06-15 13:03 forrestr 阅读(46) 评论(0) 推荐(0)
摘要:235. 二叉搜索树的最近公共祖先 相对于 二叉树的最近公共祖先 本题就简单一些了,因为 可以利用二叉搜索树的特性。 题目链接/文章讲解:https://programmercarl.com/0235.二叉搜索树的最近公共祖先.html 视频讲解:https://www.bilibili.com/v 阅读全文
posted @ 2024-06-16 23:27 forrestr 阅读(51) 评论(0) 推荐(0)
摘要:669. 修剪二叉搜索树 这道题目比较难,比 添加增加和删除节点难的多,建议先看视频理解。 题目链接/文章讲解: https://programmercarl.com/0669.修剪二叉搜索树.html 视频讲解: https://www.bilibili.com/video/BV17P41177u 阅读全文
posted @ 2024-06-16 23:28 forrestr 阅读(79) 评论(0) 推荐(0)
摘要:77. 组合 对着 在 回溯算法理论基础 给出的 代码模板,来做本题组合问题,大家就会发现 写回溯算法套路。 在回溯算法解决实际问题的过程中,大家会有各种疑问,先看视频介绍,基本可以解决大家的疑惑。 本题关于剪枝操作是大家要理解的重点,因为后面很多回溯算法解决的题目,都是这个剪枝套路。 题目链接/文 阅读全文
posted @ 2024-06-16 23:43 forrestr 阅读(127) 评论(0) 推荐(0)
摘要:39. 组合总和 本题是 集合里元素可以用无数次,那么和组合问题的差别 其实仅在于 startIndex上的控制 题目链接/文章讲解:https://programmercarl.com/0039.组合总和.html 视频讲解:https://www.bilibili.com/video/BV1KT 阅读全文
posted @ 2024-06-18 23:43 forrestr 阅读(49) 评论(0) 推荐(0)
摘要:93.复原IP地址 本期本来是很有难度的,不过 大家做完 分割回文串 之后,本题就容易很多了 题目链接/文章讲解:https://programmercarl.com/0093.复原IP地址.html 视频讲解:https://www.bilibili.com/video/BV1XP4y1U73i/ 阅读全文
posted @ 2024-06-22 00:01 forrestr 阅读(83) 评论(0) 推荐(0)
摘要:491.递增子序列 本题和大家刚做过的 90.子集II 非常像,但又很不一样,很容易掉坑里。 https://programmercarl.com/0491.递增子序列.html 视频讲解:https://www.bilibili.com/video/BV1EG4y1h78v 给你一个整数数组 nu 阅读全文
posted @ 2024-06-22 18:24 forrestr 阅读(67) 评论(0) 推荐(0)
摘要:455.分发饼干 https://programmercarl.com/0455.分发饼干.html 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺 阅读全文
posted @ 2024-06-23 00:14 forrestr 阅读(87) 评论(0) 推荐(0)
摘要:122.买卖股票的最佳时机II 本题解法很巧妙,本题大家可以先自己思考一下然后再看题解,会有惊喜! https://programmercarl.com/0122.买卖股票的最佳时机II.html 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利 阅读全文
posted @ 2024-06-23 21:12 forrestr 阅读(82) 评论(0) 推荐(0)
摘要:509. 斐波那契数 很简单的动规入门题,但简单题使用来掌握方法论的,还是要有动规五部曲来分析。 https://programmercarl.com/0509.斐波那契数.html 视频:https://www.bilibili.com/video/BV1f5411K7mo class Solut 阅读全文
posted @ 2024-07-01 23:52 forrestr 阅读(32) 评论(0) 推荐(0)
摘要:62.不同路径 本题大家掌握动态规划的方法就可以。 数论方法 有点非主流,很难想到。 https://programmercarl.com/0062.不同路径.html 视频讲解:https://www.bilibili.com/video/BV1ve4y1x7Eu 一个机器人位于一个 m x n 阅读全文
posted @ 2024-07-02 00:14 forrestr 阅读(71) 评论(0) 推荐(0)
摘要:01背包问题 二维dp https://programmercarl.com/背包理论基础01背包-1.html 视频讲解:https://www.bilibili.com/video/BV1cg411g7Y6 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价 阅读全文
posted @ 2024-07-07 00:36 forrestr 阅读(84) 评论(0) 推荐(0)
摘要:1049. 最后一块石头的重量 II 本题就和 昨天的 416. 分割等和子集 很像了,可以尝试先自己思考做一做。 视频讲解:https://www.bilibili.com/video/BV14M411C7oV https://programmercarl.com/1049.最后一块石头的重量II 阅读全文
posted @ 2024-07-07 17:36 forrestr 阅读(89) 评论(0) 推荐(0)
摘要:完全背包 视频讲解:https://www.bilibili.com/video/BV1uK411o7c9 https://programmercarl.com/背包问题理论基础完全背包.html 思考 完全背包的物品可以无限选择,遍历顺序和01背包相反,背包需要正向遍历。 def test_Com 阅读全文
posted @ 2024-07-07 22:34 forrestr 阅读(45) 评论(0) 推荐(0)
摘要:322. 零钱兑换 如果求组合数就是外层for循环遍历物品,内层for遍历背包。 如果求排列数就是外层for遍历背包,内层for循环遍历物品。 这句话结合本题 大家要好好理解。 视频讲解:https://www.bilibili.com/video/BV14K411R7yv https://prog 阅读全文
posted @ 2024-07-07 23:25 forrestr 阅读(105) 评论(0) 推荐(0)
摘要:35. 搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 思考 二分模板题 class Solution: def searchInsert(self, nums 阅读全文
posted @ 2024-07-08 17:23 forrestr 阅读(78) 评论(0) 推荐(0)
摘要:198.打家劫舍 视频讲解:https://www.bilibili.com/video/BV1Te411N7SX https://programmercarl.com/0198.打家劫舍.html 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的 阅读全文
posted @ 2024-07-09 00:43 forrestr 阅读(39) 评论(0) 推荐(0)
摘要:股票问题是一个动态规划的系列问题,前两题并不难,第三题有难度。 121. 买卖股票的最佳时机 (只能买卖一次) 视频讲解:https://www.bilibili.com/video/BV1Xe4y1u77q https://programmercarl.com/0121.买卖股票的最佳时机.htm 阅读全文
posted @ 2024-07-09 21:31 forrestr 阅读(179) 评论(0) 推荐(0)
摘要:714.买卖股票的最佳时机含手续费 给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 ;非负整数 fee 代表了交易股票的手续费用。 你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。 返回获得利润的最大 阅读全文
posted @ 2024-07-09 21:42 forrestr 阅读(64) 评论(0) 推荐(0)
摘要:300.最长递增子序列 今天开始正式子序列系列,本题是比较简单的,感受感受一下子序列题目的思路。 视频讲解:https://www.bilibili.com/video/BV1ng411J7xP https://programmercarl.com/0300.最长上升子序列.html 给你一个整数数 阅读全文
posted @ 2024-07-09 23:20 forrestr 阅读(45) 评论(0) 推荐(0)
摘要:1143.最长公共子序列 体会一下本题和 718. 最长重复子数组 的区别 视频讲解:https://www.bilibili.com/video/BV1ye4y1L7CQ https://programmercarl.com/1143.最长公共子序列.html 给定两个字符串 text1 和 te 阅读全文
posted @ 2024-07-09 23:37 forrestr 阅读(75) 评论(0) 推荐(0)