Skip to content

Go语言实现的Leetcode题解和一些其他基础算法,100%测试覆盖率。

Notifications You must be signed in to change notification settings

aaronzjc/leetcode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

测试结果 codecov Codacy Badge

介绍

😫啥也别说了,刷吧。。。

🙂自己实现的,如果遇到写不出来的,会参考其他人的思路。每道题不一定是最优解。

😏代码测试覆盖率100%。因为测试用例的关系,不保证100%正确,如果你发现解法有问题的地方,欢迎告诉我!

😎为了方便测试,以及针对重复性的内容,编写了一些辅助方法。例如,根据数组构造链表,比较两个数组是不是相等,比较两个二维数组是不是相等,等。目前用起来还不错。项目还包括,一些自己觉得有意思的或者基础性的算法,例如折半查找,求最大公因数等。

👏希望这个项目成为自己学习算法的沉淀。

测试

# Linux或者OSX环境
make test
make test_profile // 测试覆盖率
make test_profile_html // 测试覆盖率html查看
# Win环境
Make.bat test
Make.bat test_profile // 测试覆盖率
Make.bat test_profile_html // 测试覆盖率html查看

完成问题列表

简单

  • 两个数的和
  • 整数反转
  • 数是否是回文数
  • 罗马数转整数
  • 最长公共前缀
  • 括号是否匹配
  • 合并两个链表
  • 删除排序数组重复项
  • 移除数组元素
  • strstr
  • 寻找有序数组插入位置
  • 外观数列
  • 最大子序和
  • 最后一个单词的长度
  • 加一
  • x的平方根
  • 爬楼梯
  • 买卖股票最佳时机
  • 相同的二叉树

中等

  • 链表两个数相加
  • 容器能盛的最多水
  • 最长回文子串
  • 最长无重复子串
  • 字符串转整数
  • Z字形打印字符串
  • 整数转罗马数
  • 3个数之和等于0
  • 3个数之和最接近给定数
  • 电话号码的字母组合
  • 删除单链表的倒数第N个节点
  • 括号生成
  • 两两交换链表中的节点
  • 两数相除
  • 下一个较大排列
  • 搜索旋转排序数组
  • 排序数组查找开始和结束位置
  • 有效的数独
  • 组合总和
  • 组合总和2
  • 字符串相乘
  • 全排列
  • 全排列2
  • 旋转图像
  • 字母异位词分组
  • power(x, n)
  • 螺旋矩阵
  • 跳跃游戏
  • 合并区间
  • 螺旋矩阵2
  • 第K个排列
  • 旋转链表
  • 不同路径
  • 不同路径2
  • 最小路径和
  • 简化路径
  • 矩阵置零
  • 搜索二维矩阵
  • 颜色分类
  • 找零钱
  • 二叉查找树最近公共祖先
  • 不同的二叉搜索树II
  • 是否有效二叉搜索树
  • 恢复二叉搜索树
  • 二叉树逐层遍历

  • 两个整形数组中位数
  • 合并K个有序链表
  • K个一组翻转链表
  • 串联所有单词的子串
  • 最大有效括号长度
  • 解数独
  • 缺失的第一个正数
  • 接雨水
  • 通配符匹配
  • 跳跃游戏2
  • N皇后
  • N皇后2
  • 插入区间

其他

  • 求最大公约数
  • 折半查找大于给定数
  • 排序
  • LRU算法
  • Trie树
  • 跳跃表
  • 滑动时间窗口

Golang

  • 交替打印数字&字母
  • 生产者消费者
  • 并发队列
  • 中间件
  • 一致性hash

工具包

  • 函数
    • 两个一维数组是否相等(Int和String,有序和无序)
    • 两个二维数组是否相等(Int和Byte和String, 有序和无序)
    • 获取字符串数组的全排列
  • 链表
    • 根据数组构造链表
    • 根据链表输出数组
    • 反转链表
    • 输出链表元素个数和首尾节点
    • 根据数组构造一棵树
    • DFS,DFS递归版
    • BFS
  • 二叉树
    • 根据前序,中序数组构造二叉树
    • 根据层次遍历数组构造二叉树
    • 前中后遍历
    • BFS,DFS非递归

About

Go语言实现的Leetcode题解和一些其他基础算法,100%测试覆盖率。

Topics

Resources

Stars

Watchers

Forks

Languages