文章目录加载中
算法系列汇总
作者:心谭,Web Developer
本仓库是作者在学习 Web 开发过程中积累的笔记,主要以前端开发和算法题解为主,自 2018 年开始一直持续更新。如果这些笔记对你的学习有帮助,欢迎通过以下方式支持一下,你的支持是我持续维护的动力:
文章目录地址:xin-tan.com
# 设计模式手册
- 创建型模式: 创建对象的模式,抽象了实例化的过程
- 结构型模式: 解决怎样组装现有对象,设计交互方式,从而达到实现一定的功能目的。例如,以封装为目的的适配器和桥接,以扩展性为目的的代理、装饰器
- 行为型模式: 描述多个类或对象怎样交互以及怎样分配职责
# 《剑指 Offer》 JavaScript 版讲解
- 二维数组中的查找
- 替换空格
- 从尾到头打印链表
- 重建二叉树
- 用两个栈(队列)实现队列(栈)
- 旋转数组的最小数字
- 斐波那契数列
- 青蛙跳台阶
- 变态跳台阶
- 矩阵覆盖
- 二进制中 1 的个数
- 数值的整次方(四种解法)
- 调整数组顺序使奇数位于偶数前面
- 链表中倒数第 k 个结点
- 反转链表
- 合并两个排序的链表
- 树的子结构
- 二叉树的镜像
- 顺时针打印矩阵
- 包含 min 函数的栈
- 栈的压入弹出序列
- 从上到下打印二叉树
- 从上到下打印二叉树 II:LeetCode 102.二叉树的层次遍历
- 从上到下打印二叉树 III
- 二叉搜索树的后续遍历序列
- 二叉树中和为某一值的路径
- 复杂链表的复制
- 二叉搜索树与双向链表
- 序列化二叉树:LeetCode 297.序列化二叉树
- 字符串的排列
- 数组中出现次数超过一半的数字
- 对称二叉树:LeetCode 101.对称二叉树
- 剪绳子 I:LeetCode 343.整数拆分
- 剪绳子 II
- 矩阵中的路径:LeetCode 79.单词搜索
- 打印从 1 到最大的 n 位数
- 删除链表的节点
- 机器人的运动范围
- 最小的 k 个数
- 数据流中的中位数: LeetCode 295.数据流的中位数
- 把数组排成最小的数
- 数字序列中的某一位数字: Leetcode 400.第 N 个数字
- 连续子数组的最大和: LeetCode 53.最大子序列和
- 把数字翻译成字符串
- 1~n 整数中 1 出现的次数: LeetCode 233.数字 1 的个数
- 丑数: LeetCode 264.丑数 II
- 礼物的最大价值
- 最长不含重复字符的子字符串
- 第一个只出现一次的字符
- 数组中的逆序对
- 两个链表的第一个公共节点
- 在排序数组中查找数字
- 0 ~ n-1 中缺失的数字
- 二叉搜索树的第 k 大节点
- I.二叉树的深度: LeetCode 104.二叉树的最大深度
- II.平衡二叉树: LeetCode 110.平衡二叉树
- I.数组中数字出现的次数
- II.数组中数字出现的次数: LeetCode 137.只出现一次的数字 II
- I.和为 s 的两个数字
- II.和为 s 的连续正数序列
- I.滑动窗口的最大值: LeetCode 239.滑动窗口最大值
- II.队列的最大值
- n 个骰子的点数
- 扑克牌中的顺子
- 圆圈中最后剩下的数字
- 把字符串转换成整数: LeetCode 8.字符串转换整数(atoi)
- I.二叉搜索树的最近公共祖先: LeetCode 235.二叉搜索树的最近公共祖先
- II.二叉树的最近公共祖先: LeetCode 236.二叉树的最近公共祖先
本文来自心谭博客:xin-tan.com,经常更新web和算法的文章笔记,前往github查看目录归纳:github.com/dongyuanxin/blog