[找出数组中重复的数字](%E6%89%BE%E5%87%BA%E6%95%B0%E7%BB%84%E4%B8%AD%E9%87%8D%E5%A4%8D%E7%9A%84%E6%95%B0%E5%AD%97.md)
[不修改数组找出重复的数字](%E4%B8%8D%E4%BF%AE%E6%94%B9%E6%95%B0%E7%BB%84%E6%89%BE%E5%87%BA%E9%87%8D%E5%A4%8D%E7%9A%84%E6%95%B0%E5%AD%97.md)
[二维数组中的查找](%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84%E4%B8%AD%E7%9A%84%E6%9F%A5%E6%89%BE.md)
[替换空格](%E6%9B%BF%E6%8D%A2%E7%A9%BA%E6%A0%BC.md)
[从尾到头打印链表](%E4%BB%8E%E5%B0%BE%E5%88%B0%E5%A4%B4%E6%89%93%E5%8D%B0%E9%93%BE%E8%A1%A8.md)
[重建二叉树](%E9%87%8D%E5%BB%BA%E4%BA%8C%E5%8F%89%E6%A0%91.md)
[二叉树的下一个结点](%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E4%B8%8B%E4%B8%80%E4%B8%AA%E7%BB%93%E7%82%B9.md)
[用两个栈实现队列](%E7%94%A8%E4%B8%A4%E4%B8%AA%E6%A0%88%E5%AE%9E%E7%8E%B0%E9%98%9F%E5%88%97.md)
[用两个队列实现栈用两个队列实现栈](%E7%94%A8%E4%B8%A4%E4%B8%AA%E9%98%9F%E5%88%97%E5%AE%9E%E7%8E%B0%E6%A0%88%E7%94%A8%E4%B8%A4%E4%B8%AA%E9%98%9F%E5%88%97%E5%AE%9E%E7%8E%B0%E6%A0%88.md)
[斐波那契数列](%E6%96%90%E6%B3%A2%E9%82%A3%E5%A5%91%E6%95%B0%E5%88%97.md)
[跳台阶](%E8%B7%B3%E5%8F%B0%E9%98%B6.md)
[变态跳台阶](%E5%8F%98%E6%80%81%E8%B7%B3%E5%8F%B0%E9%98%B6.md)
[矩形覆盖](%E7%9F%A9%E5%BD%A2%E8%A6%86%E7%9B%96.md)
[旋转数组的最小数字](%E6%97%8B%E8%BD%AC%E6%95%B0%E7%BB%84%E7%9A%84%E6%9C%80%E5%B0%8F%E6%95%B0%E5%AD%97.md)
[矩阵中的路径](%E7%9F%A9%E9%98%B5%E4%B8%AD%E7%9A%84%E8%B7%AF%E5%BE%84.md)
[机器人的移动范围](%E6%9C%BA%E5%99%A8%E4%BA%BA%E7%9A%84%E7%A7%BB%E5%8A%A8%E8%8C%83%E5%9B%B4.md)
[剪绳子](%E5%89%AA%E7%BB%B3%E5%AD%90.md)
[二进制中 1 的个数](%E4%BA%8C%E8%BF%9B%E5%88%B6%E4%B8%AD1%E7%9A%84%E4%B8%AA%E6%95%B0.md)
[数值的整数次方](%E6%95%B0%E5%80%BC%E7%9A%84%E6%95%B4%E6%95%B0%E6%AC%A1%E6%96%B9.md)
[打印从 1 到最大的 n 位数](%E6%89%93%E5%8D%B0%E4%BB%8E1%E5%88%B0%E6%9C%80%E5%A4%A7%E7%9A%84n%E4%BD%8D%E6%95%B0.md)
[在O(1)时间内删除链表节点](%E5%9C%A8O1%E6%97%B6%E9%97%B4%E5%86%85%E5%88%A0%E9%99%A4%E9%93%BE%E8%A1%A8%E8%8A%82%E7%82%B9.md)
[删除链表中重复的节点](%E5%88%A0%E9%99%A4%E9%93%BE%E8%A1%A8%E4%B8%AD%E9%87%8D%E5%A4%8D%E7%9A%84%E8%8A%82%E7%82%B9.md)
[正则表达式匹配](%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%8C%B9%E9%85%8D.md)
[表示数值的字符串](%E8%A1%A8%E7%A4%BA%E6%95%B0%E5%80%BC%E7%9A%84%E5%AD%97%E7%AC%A6%E4%B8%B2.md)
[调整数组顺序使奇数位于偶数前面](%E8%B0%83%E6%95%B4%E6%95%B0%E7%BB%84%E9%A1%BA%E5%BA%8F%E4%BD%BF%E5%A5%87%E6%95%B0%E4%BD%8D%E4%BA%8E%E5%81%B6%E6%95%B0%E5%89%8D%E9%9D%A2.md)
[链表中倒数第k个结点](%E9%93%BE%E8%A1%A8%E4%B8%AD%E5%80%92%E6%95%B0%E7%AC%ACk%E4%B8%AA%E7%BB%93%E7%82%B9.md)
[链表中环的入口结点](%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%8E%AF%E7%9A%84%E5%85%A5%E5%8F%A3%E7%BB%93%E7%82%B9.md)
[反转链表](%E5%8F%8D%E8%BD%AC%E9%93%BE%E8%A1%A8.md)
[合并两个排序的链表](%E5%90%88%E5%B9%B6%E4%B8%A4%E4%B8%AA%E6%8E%92%E5%BA%8F%E7%9A%84%E9%93%BE%E8%A1%A8.md)
[树的子结构](%E6%A0%91%E7%9A%84%E5%AD%90%E7%BB%93%E6%9E%84.md)
[二叉树的镜像](%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E9%95%9C%E5%83%8F.md)
[对称的二叉树](%E5%AF%B9%E7%A7%B0%E7%9A%84%E4%BA%8C%E5%8F%89%E6%A0%91.md)
[顺时针打印矩阵](%E9%A1%BA%E6%97%B6%E9%92%88%E6%89%93%E5%8D%B0%E7%9F%A9%E9%98%B5.md)
[包含min函数的栈](%E5%8C%85%E5%90%ABmin%E5%87%BD%E6%95%B0%E7%9A%84%E6%A0%88.md)
[栈的压入、弹出序列](%E6%A0%88%E7%9A%84%E5%8E%8B%E5%85%A5%E3%80%81%E5%BC%B9%E5%87%BA%E5%BA%8F%E5%88%97.md)
[不分行从上到下打印二叉树](%E4%B8%8D%E5%88%86%E8%A1%8C%E4%BB%8E%E4%B8%8A%E5%88%B0%E4%B8%8B%E6%89%93%E5%8D%B0%E4%BA%8C%E5%8F%89%E6%A0%91.md)
[把二叉树打印成多行](%E6%8A%8A%E4%BA%8C%E5%8F%89%E6%A0%91%E6%89%93%E5%8D%B0%E6%88%90%E5%A4%9A%E8%A1%8C.md)
[按之字形打印二叉树](%E6%8C%89%E4%B9%8B%E5%AD%97%E5%BD%A2%E6%89%93%E5%8D%B0%E4%BA%8C%E5%8F%89%E6%A0%91.md)
[二叉搜索树的后序遍历序列](%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E5%90%8E%E5%BA%8F%E9%81%8D%E5%8E%86%E5%BA%8F%E5%88%97.md)
[二叉树中和为某一值的路径](%E4%BA%8C%E5%8F%89%E6%A0%91%E4%B8%AD%E5%92%8C%E4%B8%BA%E6%9F%90%E4%B8%80%E5%80%BC%E7%9A%84%E8%B7%AF%E5%BE%84.md)
[复杂链表的复制](%E5%A4%8D%E6%9D%82%E9%93%BE%E8%A1%A8%E7%9A%84%E5%A4%8D%E5%88%B6.md)
[二叉搜索树与双向链表](%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E4%B8%8E%E5%8F%8C%E5%90%91%E9%93%BE%E8%A1%A8.md)
[序列化二叉树](%E5%BA%8F%E5%88%97%E5%8C%96%E4%BA%8C%E5%8F%89%E6%A0%91.md)
[字符串的排列](%E5%AD%97%E7%AC%A6%E4%B8%B2%E7%9A%84%E6%8E%92%E5%88%97.md)
[数组中出现次数超过一半的数字](%E6%95%B0%E7%BB%84%E4%B8%AD%E5%87%BA%E7%8E%B0%E6%AC%A1%E6%95%B0%E8%B6%85%E8%BF%87%E4%B8%80%E5%8D%8A%E7%9A%84%E6%95%B0%E5%AD%97.md)
[获取数组中最小的k个数](%E8%8E%B7%E5%8F%96%E6%95%B0%E7%BB%84%E4%B8%AD%E6%9C%80%E5%B0%8F%E7%9A%84k%E4%B8%AA%E6%95%B0.md)
[数据流中的中位数](%E6%95%B0%E6%8D%AE%E6%B5%81%E4%B8%AD%E7%9A%84%E4%B8%AD%E4%BD%8D%E6%95%B0.md)
[连续子数组的最大和](%E8%BF%9E%E7%BB%AD%E5%AD%90%E6%95%B0%E7%BB%84%E7%9A%84%E6%9C%80%E5%A4%A7%E5%92%8C.md)
[整数中1出现的次数](%E6%95%B4%E6%95%B0%E4%B8%AD1%E5%87%BA%E7%8E%B0%E7%9A%84%E6%AC%A1%E6%95%B0.md)
[数字序列中某一位的数字](%E6%95%B0%E5%AD%97%E5%BA%8F%E5%88%97%E4%B8%AD%E6%9F%90%E4%B8%80%E4%BD%8D%E7%9A%84%E6%95%B0%E5%AD%97.md)
[把数组排成最小的数](%E6%8A%8A%E6%95%B0%E7%BB%84%E6%8E%92%E6%88%90%E6%9C%80%E5%B0%8F%E7%9A%84%E6%95%B0.md)
[把数字翻译成字符串](%E6%8A%8A%E6%95%B0%E5%AD%97%E7%BF%BB%E8%AF%91%E6%88%90%E5%AD%97%E7%AC%A6%E4%B8%B2.md)
[礼物的最大价值](%E7%A4%BC%E7%89%A9%E7%9A%84%E6%9C%80%E5%A4%A7%E4%BB%B7%E5%80%BC.md)
[最长不含重复字符的子字符串](%E6%9C%80%E9%95%BF%E4%B8%8D%E5%90%AB%E9%87%8D%E5%A4%8D%E5%AD%97%E7%AC%A6%E7%9A%84%E5%AD%90%E5%AD%97%E7%AC%A6%E4%B8%B2.md)
[丑数](%E4%B8%91%E6%95%B0.md)
[第一个只出现一次的字符](%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%8F%AA%E5%87%BA%E7%8E%B0%E4%B8%80%E6%AC%A1%E7%9A%84%E5%AD%97%E7%AC%A6.md)
[字符流中第一个不重复的字符](%E5%AD%97%E7%AC%A6%E6%B5%81%E4%B8%AD%E7%AC%AC%E4%B8%80%E4%B8%AA%E4%B8%8D%E9%87%8D%E5%A4%8D%E7%9A%84%E5%AD%97%E7%AC%A6.md)
[两个链表的第一个公共结点](%E4%B8%A4%E4%B8%AA%E9%93%BE%E8%A1%A8%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%85%AC%E5%85%B1%E7%BB%93%E7%82%B9.md)
[数字在排序数组中出现的次数](%E6%95%B0%E5%AD%97%E5%9C%A8%E6%8E%92%E5%BA%8F%E6%95%B0%E7%BB%84%E4%B8%AD%E5%87%BA%E7%8E%B0%E7%9A%84%E6%AC%A1%E6%95%B0.md)
[0到n-1中缺失的数字](0%E5%88%B0n-1%E4%B8%AD%E7%BC%BA%E5%A4%B1%E7%9A%84%E6%95%B0%E5%AD%97.md)
[数组中数值和下标相等的元素](%E6%95%B0%E7%BB%84%E4%B8%AD%E6%95%B0%E5%80%BC%E5%92%8C%E4%B8%8B%E6%A0%87%E7%9B%B8%E7%AD%89%E7%9A%84%E5%85%83%E7%B4%A0.md)
[二叉搜索树的第k个结点](%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E7%AC%ACk%E4%B8%AA%E7%BB%93%E7%82%B9.md)
[二叉树的深度](%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E6%B7%B1%E5%BA%A6.md)
[平衡二叉树](%E5%B9%B3%E8%A1%A1%E4%BA%8C%E5%8F%89%E6%A0%91.md)
[数组中只出现一次的两个数字](%E6%95%B0%E7%BB%84%E4%B8%AD%E5%8F%AA%E5%87%BA%E7%8E%B0%E4%B8%80%E6%AC%A1%E7%9A%84%E4%B8%A4%E4%B8%AA%E6%95%B0%E5%AD%97.md)
[数组中唯一只出现一次的数字](%E6%95%B0%E7%BB%84%E4%B8%AD%E5%94%AF%E4%B8%80%E5%8F%AA%E5%87%BA%E7%8E%B0%E4%B8%80%E6%AC%A1%E7%9A%84%E6%95%B0%E5%AD%97.md)
[和为S的两个数字](%E5%92%8C%E4%B8%BAS%E7%9A%84%E4%B8%A4%E4%B8%AA%E6%95%B0%E5%AD%97.md)
[和为S的连续正数序列](%E5%92%8C%E4%B8%BAS%E7%9A%84%E8%BF%9E%E7%BB%AD%E6%AD%A3%E6%95%B0%E5%BA%8F%E5%88%97.md)
[翻转单词顺序](%E7%BF%BB%E8%BD%AC%E5%8D%95%E8%AF%8D%E9%A1%BA%E5%BA%8F.md)
[左旋转字符串](%E5%B7%A6%E6%97%8B%E8%BD%AC%E5%AD%97%E7%AC%A6%E4%B8%B2.md)
[滑动窗口的最大值](%E6%BB%91%E5%8A%A8%E7%AA%97%E5%8F%A3%E7%9A%84%E6%9C%80%E5%A4%A7%E5%80%BC.md)
[扑克牌的顺子](%E6%89%91%E5%85%8B%E7%89%8C%E7%9A%84%E9%A1%BA%E5%AD%90.md)
- 前言:为什么要学数据结构和算法?
- 第一章:数据结构和算法
- 什么是数据结构?
- 什么是算法?
- 1.从接口开始
- 2.算法分析
- 3.ArrayList
- 4.LinkedList
- 5.双链表
- 6.树的遍历
- 7.到达的哲学
- 8.索引器
- 9.Map接口
- 10.哈希
- 11.HashMap
- 12.TreeMap-二叉树
- 13.二叉搜索树
- 14.数据持久化
- 15.排序
- 第二章:经典算法解析
- 1.两数之和
- 2.两数相加
- 3.无重复字符的最长子字符串
- 4.两个排序数组的中值
- 5.最长回文子串
- 6.锯齿形变换
- 7.反转整数
- 8.合并K个排序列表
- 9.链表循环
- 10.除Self之外的数组乘积
- 11.4的威力
- 12.蛙跳
- 13.将交叉口大小设置为至少两个
- 14.最大的块,使其分类
- 15.到达点
- 16.阶乘零点函数的前像大小
- 17.建造一个大的岛屿
- 18.唯一字母串
- 19.树的距离之和
- 20.猜词游戏
- 21.节点的最短路径
- 22.矩形区域II
- 23.K-相似字符串
- 24.雇佣K工人的最低成本
- 25.至少为K的最短子阵
- 26.获取所有key的最短路径
- 27.加油站的最小数量
- 28.有利可图的计划
- 29.细分图中的可达节点
- 30.超级蛋掉落
- 31.最大频率叠加
- 32.有序队列
- 33.最多N个给定数字集的数字
- 34.DI序列的有效置换
- 35.猫和老鼠
- 第三章:高级算法解析
- 找出数组中重复的数字
- 不修改数组找出重复的数字
- 二维数组中的查找
- 替换空格
- 从尾到头打印链表
- 重建二叉树
- 二叉树的下一个结点
- 用两个栈实现队列
- 用两个队列实现栈用两个队列实现栈
- 斐波那契数列
- 跳台阶
- 变态跳台阶
- 矩形覆盖
- 旋转数组的最小数字
- 矩阵中的路径
- 机器人的移动范围
- 剪绳子
- 二进制中 1 的个数
- 数值的整数次方
- 打印从 1 到最大的 n 位数
- 在O(1)时间内删除链表节点
- 删除链表中重复的节点
- 正则表达式匹配
- 表示数值的字符串
- 调整数组顺序使奇数位于偶数前面
- 链表中倒数第k个结点
- 链表中环的入口结点
- 反转链表
- 合并两个排序的链表
- 树的子结构
- 二叉树的镜像
- 对称的二叉树
- 顺时针打印矩阵
- 包含min函数的栈
- 栈的压入、弹出序列
- 不分行从上到下打印二叉树
- 把二叉树打印成多行
- 按之字形打印二叉树
- 二叉搜索树的后序遍历序列
- 二叉树中和为某一值的路径
- 复杂链表的复制
- 二叉搜索树与双向链表
- 序列化二叉树
- 字符串的排列
- 数组中出现次数超过一半的数字
- 获取数组中最小的k个数
- 数据流中的中位数
- 连续子数组的最大和
- 整数中1出现的次数
- 数字序列中某一位的数字
- 把数组排成最小的数
- 把数字翻译成字符串
- 礼物的最大价值
- 最长不含重复字符的子字符串
- 丑数
- 第一个只出现一次的字符
- 字符流中第一个不重复的字符
- 两个链表的第一个公共结点
- 数字在排序数组中出现的次数
- 0到n-1中缺失的数字
- 数组中数值和下标相等的元素
- 二叉搜索树的第k个结点
- 二叉树的深度
- 平衡二叉树
- 数组中只出现一次的两个数字
- 数组中唯一只出现一次的数字
- 和为S的两个数字
- 和为S的连续正数序列
- 翻转单词顺序
- 左旋转字符串
- 滑动窗口的最大值
- 扑克牌的顺子
- 第四章:设计模式
- 设计模式概述
- 创建型模式
- 工厂方法
- 抽象工厂
- 生成器
- 原型
- 单例
- 结构型模式
- 适配器
- 桥接
- 组合
- 装饰器
- 外观
- 享元
- 代理
- 行为模式
- 责任链
- 命令
- 迭代器
- 中介者
- 备忘录
- 观察者
- 状态
- 策略
- 模板方法
- 访问者
- 第五章:服务器运维
- 1.从vim编辑器开始
- 2.文本浏览器
- 3.Bash:Shell、.profile、.bashrc、.bash_history
- 4.Bash:处理文件,pwd,ls,cp,mv,rm,touch
- 5.Bash:环境变量,env,set,export
- 6.Bash:语言设置,LANG,locale,dpkg-reconfigure locales
- 7.Bash:重定向,stdin,stdout,stderr,tee,pv
- 8.更多的重定向和过滤:head,tail,awk,grep,sed
- 9.Bash:任务控制,jobs,fg
- 10.Bash:程序退出代码(返回状态)
- 11:总结
- 12.文档:man,info
- 13.文档:Google
- 14.包管理:Debian 包管理工具aptitude
- 15.系统启动:运行级别,/etc/init.d,rcconf,update-rc.d
- 16.处理进程,ps,kill
- 17.任务调度:cron,at
- 18.日志:/var/log,rsyslog,logger
- 19.文件系统:挂载,mount,/etc/fstab
- 20.文件系统:修改和创建文件系统,tune2fs,mkfs
- 21.文件系统:修改根目录,chroot
- 22.文件系统:移动数据,tar,dd
- 23.文件系统:权限,chown,chmod,umask
- 24.接口配置,ifconfig,netstat,iproute2,ss,route
- 25.网络:配置文件,/etc/network/interfaces
- 26.网络:封包过滤配置,iptables
- 27.安全 Shell,ssh,sshd,scp
- 28.性能:获取性能情况,uptime,free,top
- 29.内核:内核消息,dmesg
- 最后:打磨、洗练、重复:总复习
- 最终章:深入学习
- 算法思维导图
- 学习目标
- 学习路线
- 学习要点
- 学习大纲
- 资源推荐