算法题归类学习

一、数组与字符串

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 - 线程协作

九、数学

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

跳过

相关推荐
武帝为此8 小时前
【数据结构之树状数组】
数据结构·算法
Chunyyyen8 小时前
【第二十五周】大模型动手学习01
学习
leoufung8 小时前
用 DFS 拓扑排序吃透 LeetCode 210:Course Schedule II
算法·leetcode·深度优先
d111111111d8 小时前
STM32外设学习-WDG看门狗-(学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习
chao1898448 小时前
电容层析成像Tikhonov算法
算法
会挠头但不秃8 小时前
2.逻辑回归模型
算法·机器学习·逻辑回归
✎ ﹏梦醒͜ღ҉繁华落℘9 小时前
菜鸟的算法基础
java·数据结构·算法
数据门徒9 小时前
《人工智能现代方法(第4版)》 第7章 逻辑智能体 学习笔记
人工智能·笔记·学习
不蒸馒头曾口气9 小时前
申论素材学习笔记-以产业振兴激活乡村全面振兴
笔记·学习