Skip to content

Latest commit

 

History

History
218 lines (207 loc) · 5.14 KB

README.md

File metadata and controls

218 lines (207 loc) · 5.14 KB

Golang multi-solutions for leetcode

每道题目均有最优算法。
AC 不是终点,超越 100% 耗时才是。
部分题目的解法在可读性和简洁性上进行了权衡,稍稍牺牲了简洁性。
BFS&DFS、回溯、动态规划的部分题目存在多种解法,目前我选择其中一种解法进行归类。如果我想到更好的办法再做修改。

array

  1. 两数之和
  2. 盛最多水的容器
  3. 三数之和
  4. 四数之和
  5. 删除排序数组中的重复项
  6. 串联所有单词的子串
  7. 下一个排列
  8. 搜索旋转排序数组
  9. 在排序数组中查找元素的第一个和最后一个位置
  10. 搜索插入位置
  11. 有效的数独
  12. 外观数列
  13. 接雨水
  14. 合并区间
  15. 螺旋矩阵 II
  16. 加一
  17. 搜索二维矩阵
  18. 颜色分类
  19. 组合
  20. 柱状图中最大的矩形
  21. 合并两个有序数组
  22. 杨辉三角
  23. 杨辉三角 II
  24. 买卖股票的最佳时机 II
  25. 寻找旋转排序数组中的最小值
  26. 两数之和 II - 输入有序数组
  27. 多数元素
  28. 旋转数组
  29. 数组中的第K个最大元素
  30. 滑动窗口最大值
  31. 移动零
  32. 前 K 个高频元素
  33. 两个数组的交集
  34. 两个数组的交集 II
  35. 翻转对
  36. 数组的相对排序 剑指 Offer 40. 最小的k个数 面试题 08.03. 魔术索引

string

  1. 最长回文子串
  2. 字符串转换整数 (atoi)
  3. 有效的括号
  4. 字母异位词分组
  5. 最后一个单词的长度
  6. 最小覆盖子串
  7. 验证回文串
  8. 翻转字符串里的单词
  9. 同构字符串
  10. 最短回文串
  11. 有效的字母异位词
  12. 单词规律
  13. 猜数字游戏
  14. 反转字符串
  15. 字符串中的第一个唯一字符
  16. 字符串相加
  17. 找到字符串中所有字母异位词
  18. 重复的子字符串
  19. 反转字符串 II
  20. 反转字符串中的单词 III
  21. 机器人能否返回原点
  22. 计数二进制子串
  23. 验证回文字符串 Ⅱ
  24. 转换成小写字母
  25. 仅仅反转字母
  26. 删除最外层的括号

listNode

  1. 合并两个有序链表
  2. K 个一组翻转链表
  3. 两两交换链表中的节点
  4. 删除排序链表中的重复元素
  5. 环形链表

tree

  1. 二叉树的中序遍历
  2. 不同的二叉搜索树 II
  3. 不同的二叉搜索树
  4. 验证二叉搜索树
  5. 相同的树
  6. 二叉树的层序遍历
  7. 二叉树的最大深度
  8. 从前序与中序遍历序列构造二叉树
  9. 从中序与后序遍历序列构造二叉树
  10. 将有序数组转换为二叉搜索树
  11. 有序链表转换二叉搜索树
  12. 平衡二叉树
  13. 路径总和
  14. 二叉树展开为链表
  15. 二叉树的前序遍历
  16. 二叉树的后序遍历
  17. 二叉树的最近公共祖先
  18. 翻转二叉树
  19. N叉树的层序遍历
  20. 删除二叉搜索树中的节点
  21. 在每个树行中找最大值
  22. 把二叉搜索树转换为累加树
  23. N叉树的最大深度
  24. N叉树的前序遍历
  25. N叉树的后序遍历
  26. 合并二叉树
  27. 二叉搜索树中的搜索
  28. 二叉搜索树中的插入操作

datastructure

  1. LRU缓存机制
  2. 最小栈
  3. 实现 Trie (前缀树) 剑指 Offer 09. 用两个栈实现队列
  4. 设计循环双端队列
  5. 力扣排行榜

dynamic_programming

  1. 正则表达式匹配
  2. 通配符匹配
  3. 最大子序和
  4. 不同路径
  5. 不同路径 II
  6. 最小路径和
  7. 爬楼梯
  8. 编辑距离
  9. 解码方法
  10. 不同的子序列
  11. 三角形最小路径和
  12. 买卖股票的最佳时机
  13. 乘积最大子数组
  14. 打家劫舍
  15. 打家劫舍 II
  16. 最大正方形
  17. 最长上升子序列
  18. 戳气球
  19. 打家劫舍 III
  20. 比特位计数
  21. 整数拆分
  22. 判断子序列
  23. 青蛙过河
  24. 分割数组的最大值
  25. 预测赢家
  26. 学生出勤记录 II
  27. 回文子串
  28. 使用最小花费爬楼梯
  29. 赛车
  30. 最长公共子序列

backtracing

  1. 电话号码的字母组合
  2. 括号生成
  3. 解数独
  4. 组合总和
  5. 组合总和 II
  6. 全排列
  7. 全排列 II
  8. N皇后
  9. N皇后 II
  10. 子集
  11. 单词搜索
  12. 单词搜索 II
  13. 组合总和 III
  14. 递增子序列

greedy

  1. 最长有效括号
  2. 跳跃游戏 II
  3. 跳跃游戏
  4. 零钱兑换
  5. 分发饼干
  6. 任务调度器
  7. 柠檬水找零
  8. 模拟行走机器人

search

  1. 单词接龙 II
  2. 单词接龙
  3. 被围绕的区域
  4. 克隆图
  5. 岛屿数量
  6. 课程表
  7. 完全平方数
  8. 重新安排行程
  9. 最小基因变化
  10. 扫雷游戏
  11. 朋友圈
  12. 滑动谜题
  13. 钥匙和房间
  14. 二进制矩阵中的最短路径

math

  1. 回文数
  2. 字符串相乘
  3. Pow(x, n)
  4. 二进制求和
  5. x 的平方根
  6. 颠倒二进制位
  7. 位1的个数
  8. 2的幂
  9. 丑数
  10. 丑数 II
  11. 有效的完全平方数
  12. 除数博弈 剑指 Offer 20. 表示数值的字符串