Go实现常见的算法题
刷题: https://leetcode-cn.com/problemset/algorithms/
- 单链表相关
- 字符串切分
- 寻找素数:埃筛法
- 删除数组重复元素: 双指针算法(快慢指针算法)
- 寻找数组中心下标: 双指针算法
- x的平方根: 二分法
- 三个数乘积最大值: 线性扫描
- 两数之和: 空间换时间
- 斐波那契数列: 递归与空间换时间
- 排列硬币: 二分法
- 抢红包算法: 巧妙随机值
- 合并有序数组: 双指针倒序遍历
- 子数组最大平均数: 滑动窗口
- 二叉树最小深度: 深度优先与广度优先
- 最长递增子序列: 贪心算法
- 柠檬水找零: 贪心算法
- 三角形最大周长: 贪心算法
- 二叉树遍历: 前中后层序遍历
- 二叉树相关算法: 二叉树相关算法
- 二叉搜索树相关算法: BST(二叉搜索树)相关算法
- 表达式计算: 栈的使用
- 两数与三数之和: 双指针之夹逼法
- 打家劫舍: 动态规划
- 最小覆盖子串: 滑动窗口
- 数组所有子集: 回溯算法
- 台阶问题: 动态规划-斐波那契变种