
Leetcode解题报告
文章平均质量分 76
leetcode题目分享
逸云沙鸥のIHave@Dream
80后专业程序员,爱生活, 爱挑战。
不薄今人爱古文,潇洒自由过一生! 好学深思千古事,勤劳善良专一心!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[NEO解题报告]《Leetcode》1423. 可获得的最大点数 - Rust/C++
时间复杂度:空间复杂度:原创 2023-12-03 23:12:11 · 262 阅读 · 0 评论 -
[NEO解题报告]《Leetcode》1502. 判断能否形成等差数列
[NEO解题报告]《Leetcode》1502. 判断能否形成等差数列 – ⭐文章目录1. 题目信息1.1 题目描述1.2 测试用例2. 题目分析2.1 模拟计算3. 代码详情3.1 C++3.1.1 sort方法+模拟检查3.2 Python4. 系列文章1. 题目信息1.1 题目描述题目链接: https://leetcode-cn.com/problems/can-make-arithmetic-progression-from-sequence/1.2 测试用例输入:arr .原创 2022-02-03 20:53:24 · 1496 阅读 · 0 评论 -
[NEO解题报告]《Leetcode》1221. 分割平衡字符串 -- ⭐
文章目录1. 题目信息1.1 题目描述1.2 测试用例2. 题目分析2.1 贪心统计3. 代码详情3.1 C++3.1.1 贪心统计4. 系列文章1. 题目信息1.1 题目描述题目链接: 1221. 分割平衡字符串在一个 平衡字符串中,‘L’ 和 ‘R’ 字符的数量是相同的。给你一个平衡字符串 s,请你将它分割成 尽可能多 的平衡字符串。注意:分割得到的每个字符串都必须是平衡字符串。返回可以通过分割得到的平衡字符串的 最大数量 。1.2 测试用例示例 1:输入:s = "RLRR原创 2021-09-07 22:26:23 · 181 阅读 · 0 评论 -
[NEO解题报告]《Leetcode》面试题 17.14. 最小K个数 -- ⭐
文章目录1. 题目信息1.1 题目描述1.2 测试用例2. 题目分析2.1 sort后取前k个2.2 大根堆 存最小的K个3. 代码详情3.1 C++3.1.1 sort方法3.1.2 大根堆方法3.2 Python4. 系列文章1. 题目信息1.1 题目描述题目链接: 面试题 17.14. 最小K个数设计一个算法,找出数组中最小的k个数。以 任意顺序 返回这 k 个数均可。1.2 测试用例示例:输入: arr = [1,3,5,7,2,4,6,8], k = 4输出: [1,2,3原创 2021-09-03 23:40:13 · 268 阅读 · 1 评论 -
[NEO解题报告]《Leetcode》53. 最大子序和 -- ⭐⭐⭐
文章目录1. 题目信息1.1 题目描述1.2 测试用例2. 题目分析2.1 DP统计2.2 线段树分治3. 代码详情3.1 C++3.1.1 DP方法3.1.2 线段树方法3.2 Python4. 系列文章1. 题目信息1.1 题目描述题目链接: 53. 最大子序和给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。1.2 测试用例示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组原创 2021-08-23 00:23:03 · 189 阅读 · 0 评论 -
[NEO解题报告]《Leetcode》443. 压缩字符串
文章目录1. 题目信息1.1 题目描述1.2 测试用例2. 题目分析2.1 双指针遍历+`to_string` 生成数字字符2.2 双指针遍历+除法转换长度为数字字符3. 代码详情3.1 C++3.1.1 双指针遍历+`to_string` 生成数字字符3.1.2 双指针遍历+除法转换长度为数字字符3.2 Python4. 系列文章1. 题目信息1.1 题目描述题目链接: 443. 压缩字符串给你一个字符数组 chars ,请使用下述算法压缩:从一个空字符串 s 开始。对于 chars 中的原创 2021-08-21 23:57:51 · 247 阅读 · 0 评论 -
[NEO解题报告]《Leetcode》516. 最长回文子序列
文章目录1. 题目信息1.1 题目描述1.2 测试用例2. 题目分析2.1 动态规划3. 代码详情3.1 C++3.1.1 dp解法3.2 Python4. 系列文章1. 题目信息1.1 题目描述题目链接: 516. 最长回文子序列给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。1.2 测试用例示例 1:输入:s = "bbbab"输出:4解释:一个可能的最长回文子序列原创 2021-08-13 00:40:26 · 206 阅读 · 0 评论 -
[NEO解题报告]《Leetcode》138. 复制带随机指针的链表
文章目录1. 题目信息1.1 题目描述1.2 测试用例2. 题目分析2.1 哈希节点映射方法2.2 回溯+哈希3. 代码详情3.1 C++3.1.1 哈希节点映射方法3.1.2 回溯+哈希3.2 Python4. 系列文章1. 题目信息1.1 题目描述题目链接: 138. 复制带随机指针的链表给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点原创 2021-07-22 23:53:06 · 291 阅读 · 2 评论 -
[NEO解题报告]《Leetcode》274. H 指数
文章目录1. 题目信息1.1 题目描述1.2 测试用例2. 题目分析2.1 排序+贪心3. 代码详情3.1 C++3.1.1 排序+贪心3.2 Python4. 系列文章1. 题目信息1.1 题目描述题目链接: 274. H 指数给定一位研究者论文被引用次数的数组(被引用次数是非负整数)。编写一个方法,计算出研究者的 h 指数。h 指数的定义:h 代表“高引用次数”(high citations),一名科研人员的 h 指数是指他(她)的 (N 篇论文中)总共有 h 篇论文分别被引用了至少 h原创 2021-07-11 00:30:13 · 168 阅读 · 0 评论 -
[NEO解题报告]《Leetcode》645. 错误的集合
文章目录1. 题目信息1.1 题目描述1.2 测试用例2. 题目分析2.1 哈希+数学3. 代码详情3.1 C++3.1.1 哈希+数学3.2 Python4. 系列文章1. 题目信息1.1 题目描述题目链接: 645. 错误的集合集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。给定一个数组 nums 代表了集合 S 发生错误后的结果。请你找出重复出现的整数,再找到丢原创 2021-07-04 22:43:45 · 158 阅读 · 1 评论 -
[NEO解题报告]《Leetcode》474. 一和零
文章目录1. 题目信息1.1 题目描述1.2 测试用例2. 题目分析2.1 当做01背包问题+状态压缩3. 代码详情3.1 C++3.1.1 当做01背包问题+状态压缩3.2 Python4. 系列文章1. 题目信息1.1 题目描述题目链接: 474. 一和零给你一个二进制字符串数组 strs 和两个整数 m 和 n 。请你找出并返回 strs 的最大子集的大小,该子集中 最多 有 m 个 0 和 n 个 1 。如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集 。1原创 2021-06-07 00:03:41 · 160 阅读 · 1 评论 -
[NEO解题报告]《Leetcode》100 --相同的树
文章目录1. 题目信息1.1 题目描述1.2 测试用例2. 题目分析2.1 dfs递归遍历比较2.2 bfs入队列比较3. 代码详情3.1 C++3.1.1 dfs递归遍历比较方法3.1.2 bfs队列方法3.2 Python3.2.1 dfs递归遍历比较3.2.2 bfs队列方法4. 系列文章1. 题目信息1.1 题目描述题目链接: 100. 相同的树给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。原创 2021-06-05 01:03:12 · 215 阅读 · 0 评论 -
[NEO解题报告]《Leetcode》160 -- 相交链表
文章目录1. 题目信息1.1 题目描述1.2 测试用例2. 题目分析2.1 链表遍历+哈希存储节点指针3. 代码详情3.1 C++3.1.1 链表遍历+哈希存储节点指针3.2 Python3.2.1 链表遍历+哈希存储节点指针4. 系列文章1. 题目信息1.1 题目描述题目链接: 160. 相交链表编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。1.2 测试用例示例 1:输入:intersectVal = 8, listA = [4,原创 2021-06-04 00:37:07 · 214 阅读 · 0 评论 -
[NEO解题报告]《Leetcode》525 -- 连续数组
文章目录1. 题目信息1.1 题目描述1.2 测试用例2. 题目分析2.1 前缀和+哈希存0/1出现的次数cnt3. 代码详情3.1 C++3.1.1 前缀和+哈希存存0/1出现的次数cnt3.2 Python4. 系列文章1. 题目信息1.1 题目描述题目链接: 525. 连续数组给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度。1.2 测试用例示例 1:输入: nums = [0,1]输出: 2说明: [0, 1] 是具有原创 2021-06-03 01:29:59 · 196 阅读 · 0 评论 -
[NEO解题报告]《Leetcode》31 -- 下一个排列
文章目录1. 题目信息1.1 题目描述1.2 测试用例2. 题目分析2.1 手动实现next_permutation2.2 标准库的参考实现3. 代码详情3.1 C++3.1.1 手动实现next_permutation3.2 Python4. 系列文章1. 题目信息1.1 题目描述题目链接: 31. 下一个排列实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须 原地 修改,只原创 2021-06-02 23:01:20 · 233 阅读 · 0 评论 -
[NEO解题报告]《Leetcode》523 -- 连续的子数组和
文章目录1. 题目信息1.1 题目描述1.2 测试用例2. 题目分析2.1 前缀和+哈希存余数3. 代码详情3.1 C++3.1.1 前缀和+哈希存余数3.2 Python4. 系列文章1. 题目信息1.1 题目描述题目链接: 523. 连续的子数组和1.2 测试用例示例 1:输入:nums = [23,2,4,6,7], k = 6输出:true解释:[2,4] 是一个大小为 2 的子数组,并且和为 6 。示例 2:输入:nums = [23,2,6,4,7], k = 6原创 2021-06-02 13:38:16 · 211 阅读 · 0 评论 -
[NEO解题报告]《Leetcode》1744 -- 你能在你最喜欢的那天吃到你最喜欢的糖果吗?
文章目录1. 题目信息1.1 题目描述1.2 测试用例2. 题目分析2.1 前缀和给糖果编号后判定区间交集3. 代码详情3.1 C++3.1.1 前缀和给糖果编号后判定区间交集3.2 Python4. 系列文章1. 题目信息1.1 题目描述题目链接: 1744. 你能在你最喜欢的那天吃到你最喜欢的糖果吗?给你一个下标从 0 开始的正整数数组 candiesCount ,其中 candiesCount[i] 表示你拥有的第 i 类糖果的数目。同时给你一个二维数组 queries ,其中 quer原创 2021-06-02 01:45:29 · 333 阅读 · 0 评论 -
[NEO解题报告]《Leetcode》00 - 汇总
文章目录1. 专题介绍2. 题目清单2.1 《剑指 Offer》系列2.2 力扣 (LeetCode) - 全部3. 关于作者1. 专题介绍2. 题目清单2.1 《剑指 Offer》系列在线题目: 剑指 Offer(第 2 版) https://leetcode-cn.com/problemset/lcof/解题报告: [解题报告]《剑指offer》00 – 汇总2.2 力扣 (LeetCode) - 全部逐渐更新做过的一些题目吧 ????, 这里作为总入口定期刷一下链接;原创 2021-06-02 01:25:10 · 366 阅读 · 0 评论 -
[解题报告]《剑指offer》05 -- 替换空格
文章目录1. 题目信息1.1 题目描述1.2 测试用例2. 题目分析2.1 逆序双指针填充3. 代码详情3.1 C++3.1.1 逆序双指针填充3.2 Python3.2.1 生成list后拼装4. 系列文章1. 题目信息1.1 题目描述题目链接: 剑指 Offer 05. 替换空格请实现一个函数,把字符串 s 中的每个空格替换成"%20"。1.2 测试用例示例 1:输入:s = "We are happy."输出:"We%20are%20happy."限制:0 <=原创 2021-06-02 00:49:18 · 134 阅读 · 0 评论 -
[解题报告]《剑指offer》04 -- 二维数组中的查找
文章目录1. 题目信息1.1 题目描述1.2 测试用例2. 题目分析2.1 暴力遍历2.2 行遍历+列二分2.3 改进的行上限+列二分2.4 左下角或者右上角开始 行列交替遍历3. 代码详情3.1 C++3.1.1 暴力3.1.2 行遍历+列二分3.1.3 改进的行上限+列二分3.1.4 左下角或者右上角开始 行列交替遍历3.2 Python4. 总结1. 题目信息1.1 题目描述题目链接: 剑指 Offer 04. 二维数组中的查找在一个 m * n 的二维数组中,每一行都按照从左到右递增的顺原创 2021-06-01 00:28:41 · 176 阅读 · 4 评论 -
[解题报告]《剑指offer》03 -- 数组中重复的数字
文章目录1. 题目信息1.1 题目描述1.2 测试用例2. 题目分析2.1 找重复的常规思路2.2 用hash表判定重复2.3 充分利用题目给定的数字区间3. 代码详情3.1 C++3.1.1 sort方法3.1.2 hash方法3.1.3 位置交换3.2 Python3.2.1 sort排序3.2.2 用set3.2.3 位置交换1. 题目信息1.1 题目描述题目链接: https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi原创 2021-05-30 23:46:46 · 192 阅读 · 5 评论 -
[解题报告]《剑指offer》00 -- 汇总
加粗样式原创 2021-05-30 22:25:27 · 201 阅读 · 0 评论