说明
- github地址:https://github.com/lawlite19/AlgorithmExercises
一、 排序算法
1. 交换排序
- 冒泡排序改进1
- 冒泡排序改进2
- 冒泡排序改进3
2. 插入排序
3. 选择排序
4. 归并排序
二、 字符串
1. 字符串旋转
2. 字符串包含
3. 回文
4. 最长回文子串长度
5. 全排列
6. 变形词
7. 字符串中数字串之和
8. 去除字符串中连续K个0串
9. 整数字符串转整数值
- 整数字符串转整数值 ★★
10. 字符串匹配问题
三、 数组和矩阵
1. 二维数组查找
2. 矩阵相关操作
3. 最小的k个元素
- 最小的k个元素_堆
- 最小的k个元素_BFPRT ★★★★★
4.中间数
- 中间数_辅助数组 ★
5.非负数组和为K的最长子数组
8.次数出现大于N/K的数
- 次数出现大于N/2的数 ★
- 次数出现大于N/K的数 ★★★
9.逆序对
10.两个有序数组的中位数
- 两个有序数组的中位数_分治★★★★
四、 递归和动态规划
1. 斐波那契问题
- 矩形覆盖_递归
- 矩形覆盖_dp ★
- 矩阵覆盖_矩阵转化_class实现 ★★★
- 矩阵覆盖_矩阵转化_vector实现 ★★★
- 爬楼梯_递归
爬楼梯_dp ★
- 变态跳台阶_直接计算 ★
2. 最大子数组和相关问题
3. 最长递增子序列相关问题
- 最长递增子序列_一般dp
- 最长递增子序列_dp优化 ★★
- 摞数组问题(俄国沙皇问题)_纯代码实现 ★★★★
- 摞数组问题(俄国沙皇问题)_借助stl ★★★★
五、 栈和队列
1. getMin功能栈
2. 两个栈实现队列功能
七、二叉树
1. 遍历
八、位运算
- 本文链接: http://lawlite.me/2016/09/09/算法练习/
- 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议 。转载请注明出处!