记录 leetcode 题目

如下题单主要参考:https://leetcode.cn/circle/discuss/RvFUtj/

一. 学习使用双指针

88. 合并两个有序数组

283. 移动零

977. 有序数组的平方

2414. 最长的字母序连续子字符串的长度    (2024-09-19 每日一题),不是标准的滑动窗口。和曾经的题目类似

二. 学习滑动窗口

个人理解,滑动窗口可以认为是 前后指针,需要不断调整,找出合适的窗口。这个题目需要注意边界条件,需要总结规律,方便控制。

2.1 不定长滑动窗口

2.1.0  滑动窗口的变通

2.1.1 求最长或最大

3. 无重复字符的最长子串

 3090. 每个字符最多出现两次的最长子字符串

1493. 删掉一个元素以后全为 1 的最长子数组

2024-09-11 做了两道题目,算是不定长滑动窗口,需要巩固一下:209 长度最小的子数组。

2.1.2 求最短

209. 长度最小的子数组

2.1.3 求子数组的个数

713. 乘积小于 K 的子数组 (计算子数组的个数 有点技巧)

2.2 定长滑动数组

1456. 定长子串中元音的最大数目

643. 子数组最大平均数 I

1343. 大小为 K 且平均值大于等于阈值的子数组数目
2090. 半径为 k 的子数组平均值

三. 二分查找

 目前,我采用"双闭区间" 进行二分查找。对照如下35题,个人理解如下:

  当 arr[mid] < target, left = mid+1, left 是向着 大于等于target 的方向移动; 当 arr[mid] >= target 时,right向着小于target 的方向移动。最终left 指向的位置就是 >= target 的左边界,right 指向的位置是 < target 的右边界。并且 left = right + 1, right = left -1;

35. 搜索插入位置 (简单难度)
34. 在排序数组中查找元素的第一个和最后一个位置

162. 寻找峰值

875. 爱吃香蕉的珂珂

四. 栈

2390. 从字符串中移除星号 

五. 哈希表

 

七. 动态规划

70. 爬楼梯

198. 打家劫舍

1884. 鸡蛋掉落-两枚鸡蛋   每日一题,跳过

887. 鸡蛋掉落   每日一题,跳过

3193. 统计逆序对的数目  每日一题,跳过

3180. 执行操作可获得的最大总奖励 I    每日一题 跳过

3181. 执行操作可获得的最大总奖励 II   每日一题,跳过

》》个人总结:需要找到原问题和子问题,可以用第一个或最后一个元素进行举例,然后总结出 递归问题和处理函数

需要分析的题目:

https://www.nowcoder.com/practice/fd55637d3f24484e96dad9e992d3f62e

494. 目标和

1049. 最后一块石头的重量 II

416. 分割等和子集

 八. 数学问题

3191. 使二进制数组全部等于 1 的最少操作次数 I   每日一题,跳过

 367. 有效的完全平方数

633. 平方数之和

3235. 判断矩形的两个角落是否可达   每日一题 2024-11-08

九、图

684. 冗余连接     每日一题,跳过   2024-10-27

685. 冗余连接 II   每日一题,跳过   2024-10-28

十、排序

23. 合并 K 个升序链表     

十一、位运算

https://leetcode.cn/circle/discuss/CaOJ45/

3226. 使两个整数相等的位更改次数

 其他

 128. 最长连续序列 (并查集)

 

每日一题

3235. 判断矩形的两个角落是否可达  2024-11-08  数学

 

@@@@

1. 记录一些算法文章:Dijkstra算法

https://zhuanlan.zhihu.com/p/338414118

 

posted @ 2024-09-08 18:40  靖意风  Views(60)  Comments(0)    收藏  举报