leetcode100题
文章平均质量分 53
刷题记录;整理算法思路
多种语言实现,顺带学习语法,当前以java为主;java;python;go;c/C++;rust;js;
zssX
这个作者很懒,什么都没留下…
展开
-
leetcode-day13-最大子数组和
子序列最值问题往动态规划方向和分治方向想。原创 2024-01-24 13:18:30 · 344 阅读 · 1 评论 -
leetcode-day12-最小覆盖子串
一般设计子串问题,优先考虑用双指针构造滑动窗口+hash查找法解决,一般字符串如果是全字母且不区分大小写的情形,注意考虑字母数组来统计词频辅助解决。原创 2024-01-19 15:08:06 · 369 阅读 · 1 评论 -
leetcode-day11
区间最值问题多想想稀疏表法,复杂度可降低至O(logn)原创 2024-01-17 13:58:37 · 388 阅读 · 0 评论 -
leetcode-day10
刷题是发现别人的循环总是用++i,而我一致用i++;查了下才发现二者结果上是一致的,但是++i相当于语句i=i+1;return i;i++相当于 int t = i;i=i+1;return t;所以以后尽量用++i;前缀的思想非常重要。原创 2024-01-14 16:07:37 · 379 阅读 · 1 评论 -
leetcode-day9
滑动窗口可将复杂度降至O(n),异位词可用字符统计数组进行比较。原创 2024-01-13 20:46:45 · 395 阅读 · 1 评论 -
leetcode-day8
滑动窗口,实际上是双指针+set/map。原创 2024-01-13 20:08:17 · 321 阅读 · 1 评论 -
leetcode-day7
暴力法实际上是找了一个局部低点,求解局部的解,然后加起来;缺点是需要两个分成两个数组计算。动态规划法,对每一个点i都求解左右的高点,也是计算局部低点的解,这里的局部细化到了每一个i,然后相加得到结果。需要额外数组保存左右最高值。几种方法关键都是求解局部的解,每个方法可能粒度不同。原创 2024-01-13 17:50:14 · 366 阅读 · 1 评论 -
leetcode-day6
双指针法要牢记,还是要从使用各种条件缩小解空间的思路出发。原创 2024-01-13 15:39:15 · 433 阅读 · 1 评论 -
【leetcode-day5】
最优化问题本质是搜索解空间,只要在不遗失最优解的情况下尽量缩小搜索范围即可优化程序,本题就是每次移动指针时将较小那一侧的数据略去,因为最优解包含在较大一侧解空间内。原创 2024-01-11 16:34:32 · 383 阅读 · 1 评论 -
leetcode-day4
考察的是快速排序算法的思想,快排基于哨兵划分数组。原创 2024-01-10 12:12:07 · 364 阅读 · 1 评论 -
leetcode-day3
从减小问题规模入手,哈希把全遍历变为部分遍历;动态规划把连续序列问题转为左连续+中间数+右连续的子问题。原创 2024-01-10 11:46:42 · 506 阅读 · 0 评论 -
leetcode-day1
线性查找转哈希查找。原创 2024-01-10 10:26:24 · 347 阅读 · 0 评论 -
leetcode-day2
追求O(n)级别的复杂度时避免使用排序;对于有常数级别的值变化,计数法通常有效。原创 2024-01-10 10:39:53 · 314 阅读 · 0 评论