
LeetCode刷题
文章平均质量分 73
BugII_
这个作者很懒,什么都没留下…
展开
-
滑动窗口最大值
给定一个整数数组nums和一个整数k,需要找到滑动窗口中的最大值。原创 2023-10-16 23:33:42 · 257 阅读 · 0 评论 -
统计和为 K 的子数组个数
给定一个整数数组nums和一个整数k,找出数组中和为k的连续子数组的个数。原创 2023-10-10 20:17:21 · 587 阅读 · 0 评论 -
无重复字符的最长子串问题解析
给定一个字符串s,找出其中不含有重复字符的最长子串的长度。原创 2023-10-10 16:36:10 · 164 阅读 · 0 评论 -
接雨水问题
给定一个由非负整数表示的柱状图,每个柱子的宽度为 1,计算这个柱状图可以接收多少雨水。原创 2023-10-01 23:38:19 · 352 阅读 · 0 评论 -
LeetCode 15.三数之和
给你一个整数数组nums,判断是否存在三元组满足i!= ji!= k且j!= k,同时还满足。请你返回所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。原创 2023-10-01 22:15:06 · 193 阅读 · 0 评论 -
盛最多水的容器
给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i, 0)和。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。原创 2023-10-01 18:48:21 · 416 阅读 · 0 评论 -
LeetCode 283. 移动零
给定一个数组nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意,必须在不复制数组的情况下原地对数组进行操作。原创 2023-10-01 18:08:08 · 279 阅读 · 0 评论 -
最长连续序列
给定一个未排序的整数数组nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。原创 2023-10-01 12:14:20 · 173 阅读 · 0 评论 -
字母异位词分组:分类同字母异序词
是Python标准库中的一个容器数据类型,它是内置字典(dict)的一个子类。与普通字典不同,允许你指定默认值的类型,当访问不存在的键时,会自动创建该键,并将其对应的值初始化为默认值的类型。在上面的代码中,我们使用了来创建一个默认值为列表的字典。这意味着如果访问不存在的键时,会自动创建该键,并将其对应的值初始化为一个空列表。这样,我们可以直接向列表中添加元素,而不需要担心键是否存在。是在处理一些特殊情况下非常方便的数据结构,它可以简化代码逻辑,使代码更加清晰。原创 2023-10-01 01:30:00 · 369 阅读 · 0 评论 -
两数之和:寻找目标值的两个元素
给定一个整数数组nums和一个整数目标值target,需要在该数组中找出和为目标值target的两个整数,并返回它们的数组下标。原创 2023-10-01 00:01:20 · 189 阅读 · 0 评论 -
缺失的第一个正数:高效解法与技术
在计算机编程中,有时候需要寻找一个未排序整数数组中没有出现的最小的正整数。这篇技术博客将详细讨论这个问题,并提供一个时间复杂度为 O(n) 且只使用常数级别额外空间的解决方案。原创 2023-09-21 17:02:54 · 194 阅读 · 0 评论 -
轮转数组:解决数组元素向右轮转的高效算法
在计算机编程中,经常会遇到数组操作的问题,其中之一就是将数组中的元素向右轮转k个位置。这篇技术博客将详细介绍这个问题,探讨解决方案,并提供实际的Python代码来解决这个问题。原创 2023-09-19 11:27:20 · 239 阅读 · 0 评论 -
合并区间:解决区间重叠问题的高效算法
合并区间是一个常见的编程问题,通常需要对区间进行排序并遍历以合并重叠的区间。通过使用合适的数据结构和算法,我们可以高效地解决这个问题。上面的代码演示了一个使用排序和遍历的解决方案,它可以有效地合并区间并返回一个不重叠的结果数组。理解这种问题的解决思路可以帮助你更好地应对类似的区间操作问题。原创 2023-09-19 10:51:53 · 1605 阅读 · 0 评论 -
解决最大子数组和问题的动态规划算法
通过使用动态规划算法,我们可以高效地解决最大子数组和问题。该算法的时间复杂度为 O(n),其中 n 是数组的长度。我们定义了一个辅助数组maxsum来存储以每个元素结尾的子数组的最大和,不断更新result来获取全局最大和。这个算法在处理大规模数据时表现出色,是解决类似问题的一种常用方法。原创 2023-09-18 14:33:59 · 606 阅读 · 0 评论 -
Day8-Leetcode刷题
今天是刷题的第八天。之前因为在做一些其他事情,已经耽搁好久没有刷题了。524. Longest Word in Dictionary through Deleting(Medium)原题地址题目描述这道题的题意是给定一个字符串s和存着字符串的vector数组d,其中,题目要求我们从vector中找出某个字符串可以通过删除某些给定的字符串字符来形成。输出是满足条件的字符串;其中,还有两个限制条件:1、输出满足条件的最长的字符串;2、若是满足字符串长度相同,则输出最小的词典顺序的字符串。策略原创 2021-03-06 23:38:45 · 313 阅读 · 0 评论 -
Day7-LeetCode刷题(滑动窗口练习)
今天是刷题的第七天。633. Sum of Square Numbers(Medium)原题地址题目描述这道题的题意是给定一个整数,检查是否有平方和它相同;输入是一个整形数组,输出是一个是否相同的true和false。策略本题可以采用穷举法,遍历到平方根后,即可判断是否可以满足条件。代码:class Solution {public: bool judgeSquareSum(int c) { for(int i=0; i<=sqrt(c); i++原创 2021-02-14 16:02:03 · 249 阅读 · 0 评论 -
Day6-LeetCode刷题(滑动窗口学习)
今天是刷题的第六天,前几天因为在打美赛所以没有刷题,现在继续刷题。76. Minimum Window Substring(hard)原题地址题目描述这道题的题意是给定两个字符串S 和T,求S 中包含T 所有字符的最短连续子字符串的长度,同时要求时间复杂度不得超过O(n)。输入是两个字符串S 和T,输出是一个S 字符串的子串。策略本题使用滑动窗口求解,即两个指针l 和r 都是从最左端向最右端移动,且l 的位置一定在r 的左边或重合。注意本题虽然在for 循环里出现了一个while 循环原创 2021-02-10 12:58:11 · 421 阅读 · 0 评论 -
Day5-LeetCode刷题(双指针学习)
今天是刷题的第五天,引用kuangbin大佬的话人—我百,人十我万!追逐青春的梦想,怀着自信的心,永不放弃!虽然可能做不到如此,但希望持续下去。167. Two Sum II - Input array is sorted(easy)原题地址题目描述这道题的题意很简单,意思是计算两数之和。输入为一个一维数组,其中数组已经排好序,和目标和target,输出为target和对应的两个数下标。策略因为数组已经排好序,我们可以采用方向相反的双指针来寻找这两个数字,一个初始指向最小的元素,即原创 2021-02-04 09:17:46 · 2415 阅读 · 0 评论 -
Day4-LeetCode刷题(贪心算法练习)
今天是刷题的第二天,引用kuangbin大佬的话人—我百,人十我万!追逐青春的梦想,怀着自信的心,永不放弃!虽然可能做不到如此,但希望持续下去。122. Best Time to Buy and Sell Stock II(easy)原题地址题目描述这道题的题意很简单,意思是每天都可以进行出售和购买股票,求最大利润输入为一个一维数组,表示每天的股价变化情况,输出是最大的利润策略这题考虑贪心算法,可以直接暴力贪心,既然不限次数,那么只要股价明天比高,我就在第二天把它给卖了,采用的是非原创 2021-02-03 22:25:05 · 2492 阅读 · 0 评论 -
Day3-LeetCode刷题(贪心算法练习)
今天是刷题的第三天,引用kuangbin大佬的话人—我百,人十我万!追逐青春的梦想,怀着自信的心,永不放弃!虽然可能做不到如此,但希望持续下去。452. Minimum Number of Arrows to Burst Balloons(Medium)原题地址题目描述这道题的题意是说有多个气球,给定多个气球的X轴位置,需要将所有气球射下来。输入为一个二维数组,每一行为一个区间,这区间用一个含有两个元素的数组表示,输出是最少射击数。策略这题考虑贪心算法,和昨天做的那道区间问题类似,原创 2021-02-02 10:58:06 · 3019 阅读 · 0 评论 -
Day2-LeetCode刷题(贪心算法练习及区间问题)
今天是刷题的第二天,引用kuangbin大佬的话人—我百,人十我万!追逐青春的梦想,怀着自信的心,永不放弃!虽然可能做不到如此,但希望持续下去。435. Non-overlapping Intervals(easy)原题地址题目描述这道题的题意很简单,意思是说现在有一系列的区间,让你去掉最少区间使得剩余的区间互不重复,起始和终点不算重叠。输入为一个二维数组,每一行为一个区间,这区间用一个含有两个元素的数组表示,输出是去掉的最少区间数。策略这题考虑贪心算法,在选择要保留区间时,区间的原创 2021-02-01 11:36:11 · 3511 阅读 · 0 评论 -
Day1-LeetCode刷题(贪心算法中的分配问题)
太久没有做过算法题了,今天开始进行“康复训练”。455. Assign Cookies(easy)原题地址题目描述这道题的题意很简单,意思是说现在有孩子和饼干,你需要分饼干给孩子,其中每个孩子最多只能拿一个,每个孩子有不同的饥饿度,当孩子饥饿度小于饼干大小时,则可以把饼干分给他。输入为两个数组,一个是孩子的饥饿度,另一个是饼干大小。输出是最多能满足的孩子数量。策略这题考虑贪心算法,首先满足饥饿度低的孩子,直到没有满足的饼干存在停止,这样可以尽可能保证剩下的饼干可以满足饥饿度更大的孩子。原创 2021-01-31 16:27:06 · 3752 阅读 · 0 评论