重学数据结构与算法
提升自己的编程能力与逻辑思维能力 (๑•̀ㅂ•́)و✧
番外篇 --- 《剑指 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