算法题归类学习

一、数组与字符串

1、两数之和(LeetCode 1) - 哈希表解法

(√)

2、盛最多水的容器(LeetCode 11) - 对撞双指针

(√)

3、三数之和(LeetCode 15) - 排序+三指针

一半(√)

4、接雨水(LeetCode 42) - 左右最大值双指针

跳过

5、轮转数组(LeetCode 189) - 三次反转法

跳过

6、无重复字符的最长子串(LeetCode 3) - 滑动窗口

(√)

7、最大子数组和(LeetCode 53) - Kadane算法

(√)

8、搜索插入位置(LeetCode 35) - 二分查找

(√)

9、搜索旋转排序数组(LeetCode 33) - 变形二分查找

跳过

二、链表专题

1、反转链表(LeetCode 206) - 迭代/递归

迭代(√)

递归(x)

2、反转链表II(LeetCode 92) - 部分反转

跳过

3、合并两个有序链表(LeetCode 21) - 归并思想

(√)

4、删除排序链表中的重复元素(LeetCode 83) - 保留一个

(√)

5、删除排序链表中的重复元素II(LeetCode 82) - 全删除

(√)

6、环形链表(LeetCode 141) - 快慢指针判环

(√)

7、环形链表II(LeetCode 142) - 找环入口

(√)

8、相交链表(LeetCode 160) - 双指针技巧

(√)

9、删除链表的倒数第N个结点(LeetCode 19) - 快慢指针

(√)

10、K个一组翻转链表(LeetCode 25) - 分组反转

跳过

三、二叉树与树

1、 二叉树的中序遍历(LeetCode 94) - 递归/迭代

递归(√)

迭代(x)

2、二叉树的最大深度(LeetCode 104) - DFS/BFS

DFS(√)

BFS(X)

3、二叉树的层序遍历(LeetCode 102) - BFS队列

(√)

4、路径总和III(LeetCode 437) - 前缀和+DFS

(√)

5、二叉树的最近公共祖先(LeetCode 236) - 递归查找

(x)

四、栈与队列

1、每日温度(LeetCode 739) - 单调栈

(√)

2、最小栈(LeetCode 155) - 辅助栈设计

跳过

3、用栈实现队列(LeetCode 232) - 双栈法

(√)

4、有效的括号(LeetCode 20) - 栈

(√)

五、动态规划(7题)

1、爬楼梯(LeetCode 70) - 斐波那契

(√)

2、打家劫舍(LeetCode 198) - 一维DP

(√)

3、最长递增子序列(LeetCode 300) - LIS问题

(√)

4、最长回文子串(LeetCode 5) - 已归入数组类

(x)

5、零钱兑换(LeetCode 322) - 完全背包

(√)

6、买卖股票的最佳时机(LeetCode 121) - 一次交易

(√)

六、回溯与搜索

1、全排列(LeetCode 46) - 回溯模板

(√)

2、子集(LeetCode 78) - 回溯/位运算

跳过

3、岛屿数量(LeetCode 200) - 网格DFS/BFS

跳过

七、排序算法

快速排序(排序算法常考) - 分治思想

归并排序(排序算法常考) - 分治+归并

八、设计题

LRU缓存机制(LeetCode 146) - 哈希表+双向链表

跳过

单例模式 - 设计模式实现

多线程打印ABC - 线程协作

九、数学

将整数减少到零需要的最小操作数 - 位运算/贪心

跳过

相关推荐
Pniubi3 小时前
力扣438.找到字符串中所有字母异位词
算法·leetcode·职场和发展
Nerd(BUG版)4 小时前
Flutter学习day5--事件手势与命中测试
学习·flutter
Nerd(BUG版)6 小时前
KMP学习day4--Kotlin空安全与泛型
学习·安全·kotlin
東隅已逝,桑榆非晚6 小时前
算法6. 双指针法-查找总价格为目标的两个商品
c++·学习·算法
Eyfcom6 小时前
〖物联网终端实战 01〗UWB 室内高精度定位:仓储 AGV 与人员的厘米级轨迹追踪
物联网·算法·物流系统·快递系统·跨境物流快递系统·物联网终端实战
bro_Java6667 小时前
《排序的底层逻辑:比较、交换与分治》
java·算法·排序算法
wdyan2977 小时前
带着小白学习-微服务-5 实战:配置中心-数据库连接
数据库·学习·微服务
爱喝雪碧的可乐7 小时前
MATLAB
开发语言·算法·matlab
叼烟扛炮7 小时前
Linux 学习笔记(五十):网络层——IP 协议、子网划分与 NAT 魔法
linux·笔记·学习
叼烟扛炮7 小时前
Linux 学习笔记(六十):单线程的逆袭——epoll 高并发服务器实战
linux·服务器·网络·笔记·学习·算法