LeetCode 经典150题
文章平均质量分 70
记录力扣经典150题
悬浮海
正在准备系列内容,更新较少。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【NO.22】LeetCode经典150题-6. Z 字形变换
Z 字形变换原创 2024-09-14 21:27:02 · 501 阅读 · 0 评论 -
【NO.21】LeetCode经典150题-151. 反转字符串中的单词
反转字符串中的单词原创 2024-09-14 20:45:52 · 490 阅读 · 0 评论 -
【NO.20】LeetCode经典150题-14. 最长公共前缀
最长公共前缀原创 2024-09-08 14:56:34 · 711 阅读 · 0 评论 -
【NO.19】LeetCode经典150题-58. 最后一个单词的长度
最后一个单词的长度原创 2024-09-04 21:06:23 · 380 阅读 · 0 评论 -
【NO.18】LeetCode经典150题-12. 整数转罗马数字
整数转罗马数字原创 2024-09-03 08:58:48 · 1105 阅读 · 0 评论 -
【NO.17】LeetCode经典150题-13. 罗马数字转整数
罗马数字转整数原创 2024-09-02 08:35:46 · 868 阅读 · 0 评论 -
【NO.16】LeetCode经典150题-42. 接雨水
接雨水原创 2024-09-01 11:26:35 · 1218 阅读 · 0 评论 -
【NO.15】LeetCode经典150题-135. 分发糖果
分发糖果原创 2024-08-31 12:03:06 · 483 阅读 · 0 评论 -
【NO.14】LeetCode经典150题-134. 加油站
加油站原创 2024-08-30 08:44:53 · 854 阅读 · 0 评论 -
【NO.13】LeetCode经典150题-238. 除自身以外数组的乘积
除自身以外数组的乘积原创 2024-08-29 08:37:51 · 596 阅读 · 0 评论 -
【NO.12】LeetCode经典150题-380. O(1) 时间插入、删除和获取随机元素
O(1) 时间插入、删除和获取随机元素原创 2024-08-28 08:52:25 · 872 阅读 · 0 评论 -
【NO.11】LeetCode经典150题-274. H 指数
H 指数原创 2024-08-27 09:14:15 · 591 阅读 · 0 评论 -
【NO.10】LeetCode经典150题-45. 跳跃游戏 II
跳跃游戏 II原创 2024-08-26 09:21:44 · 410 阅读 · 0 评论 -
【NO.9】LeetCode经典150题-55. 跳跃游戏
我们依次遍历数组中的每一个位置,并实时维护 最远可以到达的位置。对于当前遍历到的位置 x(x是下标),如果它在 最远可以到达的位置 的范围内,那么我们就可以从起点通过若干次跳跃到达该位置,因此我们可以用 x+nums[x] 更新 最远可以到达的位置。解释:无论怎样,总会到达下标为 3 的位置。解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。输入:nums = [2,3,1,1,4]输入:nums = [3,2,1,0,4]给你一个非负整数数组。原创 2024-08-25 11:42:31 · 453 阅读 · 0 评论 -
【NO.8】LeetCode经典150题-122. 买卖股票的最佳时机 II
例如,题目中的例子 [1,2,3,4,5],数组的长度 n=5,按照贪心的逻辑,交易过程是进行 4 次买入和 4 次卖出,但实际上买卖操作时是在第 1 天买入,第 5 天卖出。解释:在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。输入:prices = [1,2,3,4,5]原创 2024-08-24 11:42:35 · 497 阅读 · 0 评论 -
【NO.7】LeetCode经典150题-121. 买卖股票的最佳时机
解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回。解释:在这种情况下, 没有交易完成, 所以最大利润为 0。设计一个算法来计算你所能获取的最大利润。输入:prices = [7,6,4,3,1]输入:[7,1,5,3,6,4]买入这只股票,并选择在。原创 2024-08-23 22:06:00 · 312 阅读 · 0 评论 -
【NO.6】LeetCode经典150题-189.轮转数组
该方法为数组的翻转:我们可以先将所有元素翻转,这样尾部的 k mod n 个元素就被移至数组头部,然后我们再翻转 [0,k mod n−1] 区间的元素和 [k mod n,n−1] 区间的元素即能得到最后的答案。输入: nums = [1,2,3,4,5,6,7], k = 3。向右轮转 1 步: [7,1,2,3,4,5,6]向右轮转 2 步: [6,7,1,2,3,4,5]向右轮转 3 步: [5,6,7,1,2,3,4]输出: [5,6,7,1,2,3,4]算法解决这个问题吗?原创 2024-08-23 09:07:23 · 456 阅读 · 0 评论 -
【NO.5】LeetCode经典150题-169. 多数元素
当遇到与 cand_num(众数) 相同的数,则票数 count = count + 1,否则票数 count = count - 1。当票数 count 为 0 时,更换候选人,并将票数 count 重置为 1。如果我们把众数(也就是多数)记为 +1,把其他数记为 −1,将它们全部加起来,显然和大于 0,从结果本身我们可以看出众数比其他数多。你可以假设数组是非空的,并且给定的数组总是存在多数元素。,返回其中的多数元素。输入:nums = [2,2,1,1,1,2,2]输入:nums = [3,2,3]原创 2024-08-22 09:01:02 · 411 阅读 · 0 评论 -
【NO.4】LeetCode经典150题-80. 删除有序数组中的重复项 II
给你一个有序数组nums,请你删除重复出现的元素,使得出现次数超过两次的元素,返回删除后数组的新长度。不要使用额外的数组空间,你必须在并在使用 O(1) 额外空间的条件下完成。为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以**「引用」**方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。输入:nums = [1,1,1,2,2,3]输出:5, nums = [1,1,2,2,3]原创 2024-08-21 08:49:26 · 597 阅读 · 0 评论 -
【NO.3】LeetCode经典150题-26. 删除有序数组中的重复项
解释:函数应该返回新的长度 5 , 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。不需要考虑数组中超出新长度后面的元素。因为递增,所以我们遍历当前元素,比较其与前一个元素,相等则跳过此元素, 不等则将当前元素填充到keep指针的位置上。解释:函数应该返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2。不需要考虑数组中超出新长度后面的元素。输入:nums = [0,0,1,1,1,2,2,3,3,4]输出:5, nums = [0,1,2,3,4]原创 2024-08-20 08:36:12 · 387 阅读 · 0 评论 -
【NO.2】LeetCode经典150题-27. 移除元素
解释:你的函数应该返回 k = 5,并且 nums 中的前五个元素为 0,0,1,3,4。解释:你的函数函数应该返回 k = 2, 并且 nums 中的前两个元素均为 2。输入:nums = [0,1,2,2,3,0,4,2], val = 2。你在返回的 k 个元素之外留下了什么并不重要(因此它们并不计入评测)。你在返回的 k 个元素之外留下了什么并不重要(因此它们并不计入评测)。输入:nums = [3,2,2,3], val = 3。输出:5, nums = [0,1,4,0,3,原创 2024-08-19 08:55:46 · 360 阅读 · 0 评论 -
【NO.1】LeetCode经典150题-88.合并两个有序数组
输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3。合并结果是 [1,2,2,3,5,6] ,其中斜体加粗标注的为 nums1 中的元素。输入:nums1 = [0], m = 0, nums2 = [1], n = 1。输入:nums1 = [1], m = 1, nums2 = [], n = 0。解释:需要合并 [1,2,3] 和 [2,5,6]。解释:需要合并的数组是 [] 和 [1]。输出:[1,2,2,3,5,6]原创 2024-08-18 12:24:04 · 446 阅读 · 0 评论
分享