首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
LeetCode Hot 100
vim怎么退出
创建于2024-08-22
订阅专栏
坚持刷完热题100
等 1 人订阅
共94篇文章
创建于2024-08-22
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
14.合并区间
题目链接 解法1 排序+ 思路 合并两个区间其实就是在看他们有没有交集。如何看判断是否有交集呢:左区间的右端点大于等于右区间的左端点。而这一条件需要左区间和右区间是有序排列,如果不是则会出现其他情况。
13.最大子数组和
题目链接 解法1 暴力解法 思路 求子数组的最大和,第一层遍历起点,第二层遍历终点,同时用变量累加,并和当前最大值做比较。 代码 时空复杂度分析 时间复杂度:O(n^2),这个会超时 空间复杂度:O(
12.最小覆盖子串
竟然有一个月没刷题了。。放完假咯,可以继续学习了~ 题目链接 解法1 暴力解法 思路 首先遍历 s 的每一个起始位置 i。从 i 开始扩大子串,直到 j。对于每个子串 s[i:j] 都检查是否包含字符
11.滑动窗口最大值
题目链接 题解1 暴力解法 思路 寻求滑动窗口的最大值,可以把滑动窗口看作一个子数组,每次对子数组求得最大值即可。 暴力解法会超时 代码 时空复杂度分析 时间复杂度:O(n * k) ,其中 k 最大
10.和为 K 的子数组
题目链接 题解1 暴力解法 思路 题目的意思就是从 i 开始往后累加 n 位是否有和等于 k。因为是子数组嘛,子数组的要求就是连续,所以不存在逆向等答案。 代码 时空复杂度分析 时间复杂度:两层循环
9.找到字符串中所有字母异位词
题目链接 题解1 暴力解法 思路 其实和上一题类似,就是遍历每个字母为起始位,然后向后遍历 p 个字符,与 p 做计数比较,相等则加入到集合里。 暴力解法会超时,但还是把代码贴一下。 代码 时空复杂度
8.无重复字符的最长子串
题目链接 题解1 暴力解法 思路 其实暴力解法最重要的就是读懂题目,题目想找出最长的子串,可以枚举每个字符为起点,往后枚举他的止点,顺便更新下答案。如果遇见相同字符,那么退出这个字符的枚举。 为了避免
7.接雨水
题目链接 示例 1: 示例 2: 题解1 暴力解法 思路 柱子与柱子之间能接多少水,就像上一题一样,取决于两边的高度。上一题是木板,这一题是柱子。 还和柱子本身的高度有关系,如果两边柱子之间的最矮那一
6.三数之和
题目链接 题解1 暴力解法 思路 要求出和为 0 的三元组,最简单就是枚举每一个数,如果为 0,则保存到结果集中。 需要注意的是去重,我们可以用 set 保存答案的排序过后的字符串,因为不同顺序也被视
5.盛最多水的容器
题目链接 示例 1: 示例 2: 题解 双指针 思路 题目要求我们求解容器的最大值,可以把 height[i] 看作一块木板,其实求的是面积的最大值。而两块木板的面积的最大值等于木板之间的间距 j -
4.移动零
题目链接 题解1 删除再添加 思路 可以先统计出0的个数,并在统计时删除0。最后在末位补0即可。 要注意如果从头遍历,使用 splice 删除时会打乱遍历顺序,所以要从后遍历。 代码 时空复杂度分析
3.最长连续序列
题目链接 题解1 排序后计数 思路 在不考虑时间复杂度的情况下,最简单的方法就是将数组排序后,遍历计数。 代码 时空复杂度分析 时间复杂度:代码中有排序和遍历的开销,最大的是排序 O(n logn)
2.字母异位词分组
题目链接 题解1 计数 思路 字母异位词的意思就是说一个单词,他们每个字母出现的次数一样。这样的话,需要知道他们每个字母出现的次数,所以需要计数,然后吧这个计数当做唯一标识缓存下来,遇到不同的就添加到
1.两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案,并且你不能使用