重学数据结构与算法
提升自己的编程能力与逻辑思维能力 (๑•̀ㅂ•́)و✧
番外篇 --- 《剑指 Offer》
-
concat 函数
-
splice 函数
-
单向链表
-
双向链表
-
循环链表
-
有序链表
-
顺序栈
-
链式栈
-
十进制转二进制
-
浏览器的前进、后退功能
-
顺序队列
-
链式队列
-
顺序双端队列
-
链式双端队列
-
循环队列
-
击鼓传花游戏
-
回文检查器
-
斐波那契数列
-
求 n 的阶乘
-
数据集合的全排列
-
冒泡排序
-
选择排序
-
插入排序
-
希尔排序
-
归并排序
-
快速排序
-
计数排序
-
基数排序
-
有序数组的二分查找
-
插值查找
-
模糊二分查找
-
支持插入、删除、查找的散列表
-
分离链接法处理散列表中的冲突
-
线性探查法处理散列表中的冲突
-
二叉树的前、中、后序以及层次遍历
-
支持插入、删除、查找的二叉查找树
-
查找二叉查找树中的最大、最小节点
-
查找二叉查找树中某个节点的前驱、后继节点
-
小顶堆
-
大顶堆
-
堆排序
-
优先级队列
-
利用优先级队列合并 K 个有序数组
-
求一组动态数据集合的最大 Top K
-
最少硬币找零问题
-
分数背包问题
-
实现 Huffman 压缩编码
- 求一组数据的逆序对个数
-
八皇后问题
-
0-1 背包问题
-
迷宫老鼠问题
-
数独解题器
-
0-1 背包问题
-
最少硬币找零问题
-
最小路径和
-
最长公共子序列
# | 题目 | 难度 |
---|---|---|
1 | 两数之和 | 简单 |
15 | 三数之和 | 中等 |
169 | 求众数 | 简单 |
21 | 合并两个有序链表 | 简单 |
206 | 反转链表 | 简单 |
141 | 环形链表 | 简单 |
237 | 删除链表中的节点 | 简单 |
234 | 回文链表 | 简单 |
146 | LRU 缓存机制 | 中等 |
20 | 有效的括号 | 简单 |
42 | 接雨水 | 困难 |
155 | 最小栈 | 简单 |
279 | 完全平方数 | 中等 |
70 | 爬楼梯 | 简单 |
739 | 每日温度 | 中等 |
225 | 用队列实现栈 | 简单 |
232 | 用栈实现队列 | 简单 |
703 | 数据流中的第 K 大元素 | 简单 |
69 | X 的平方根 | 简单 |
102 | 二叉树的层次遍历 | 中等 |
104 | 二叉树的最大深度 | 简单 |
101 | 对称二叉树 | 简单 |
2 | 两数相加 | 中等 |
226 | 翻转二叉树 | 简单 |
647 | 回文子串 | 中等 |
3 | 无重复字符的最长子串 | 中等 |
4 | 寻找两个有序数组的中位数 | 困难 |
5 | 最长回文子串 | 中等 |
11 | 盛最多水的容器 | 中等 |
136 | 只出现一次的数字 | 简单 |
7 | 整数反转 | 简单 |
17 | 电话号码的字母组合 | 中等 |
19 | 删除链表的倒数第 N 个节点 | 中等 |
22 | 括号生成 | 中等 |
23 | 合并 K 个排序链表 | 困难 |
142 | 环形链表 II | 中等 |
31 | 下一个排列 | 中等 |
32 | 最长有效括号 | 困难 |
523 | 连续的子数组和 | 中等 |
53 | 最大子序和 | 简单 |
$ npm run coverage # 运行测试
$ npm run build # 构建项目
MIT © RetroAstro