首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
JinLing
掘友等级
学生
重学前端的大三混子
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
24
文章 24
沸点 0
赞
24
返回
|
搜索文章
最新
热门
LeetCode热题100——54.螺旋矩阵
该解法采用边界收缩法,定义上下左右四个边界进行分层遍历。主循环依次顺时针遍历四条边并收缩边界。循环结束后,通过判断 top=bottom 或 left=right 访问剩余的单行或单列元素。
LeetCode热题100——73.矩阵置零
最佳解法利用矩阵第一行和第一列作为标记空间,并用两个布尔变量记录其原始零状态。通过两次 O(MN) 遍历,先标记零位,后置零,最终实现了 O(MN) 时间和 O(1) 额外空间的原地算法。
LeetCode热题100——238.除自身以外数组的乘积
采用前缀积和后缀积的组合方法,利用输出数组存储前缀积。通过两次 O(N) 遍历,第一次算左侧乘积,第二次同时算右侧乘积并合并到左侧乘积中.实现了 O(N) 时间和 O(1) 额外空间复杂度。
LeetCode热题100——189.轮转数组
该解法采用三次反转法实现 O(1) 额外空间的数组原地轮转。首先简化步数 k' = k % N,然后通过反转整个数组、反转前 k' 个元素和反转后 N-k' 个元素,将AB 变为 BA
LeetCode热题100——56.合并区间
该解法使用贪心算法。首先按区间起点排序,然后遍历。核心逻辑是将当前区间与正在构建的pre区间比较,若不重叠则将pre存入结果并更新pre,若重叠则更新pre的终点。
LeetCode热题100——53.最大子数组和
使用动态规划求解最大子数组和,时间复杂度为 O(N)。定义 dp[i] 为以nums[i] 结尾的最大和,状态转移方程为dp[i]=max(dp[i−1]+nums[i],nums[i])
LeetCode热题100——560.和为K的子数组
使用前缀和结合哈希表实现 O(N) 统计。通过 S[j-1] = S[i] - k 的关系,算法在遍历中将当前前缀和 S[i] 减去 k,并在哈希表中查找目标S[j-1] 的出现次数,从而实现高效计算
LeetCode热题100——438.找到字符串中的所有字母异位词
使用差值数组滑动窗口方法,通过 O(1)$维护一个 differ计数器来跟踪当前窗口和目标字符串 p 的差异种类数,从而以线性时间复杂度 O(N)完成异位词子串的查
LeetCode热题100——3.无重复字符的最长子串
采用滑动窗口技术,通过外层for循环确定子串起始点l,内层while循环贪心拓展右边界r。利用哈希集合高效检查重复,并在每次l前进时删除旧字符。l和r单向移动,保证时间复杂度为O(N)。
LeetCode热题100——15.三数之和
该解法采用排序加双指针的策略。首先对数组排序,然后固定第一个数 nums[i],并将问题转化为在剩余部分寻找和为 -nums[i] 的两数。通过双指针 L 和 R 向内收缩来调整和
下一页
个人成就
文章被点赞
13
文章被阅读
1,253
掘力值
350
关注了
2
关注者
1
收藏集
0
关注标签
3
加入于
2024-09-27