![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go
lin_tuer
这个作者很懒,什么都没留下…
展开
-
[重拾 leetcode - go] [array] 1. Two Sum
原题链接解法一:with map用map来保存已经出现过的数字,及它对应的下标,每遍历到一个新的数字,就判断 target - nums[i] 是否已经存在,若存在,则返回它们对应的下标,否则,将当前数字及其下标存入map, 继续遍历。时间复杂度 : O(N), 空间复杂度: O(N)这是最直接,也最容易想到的解法。当我用go去实现它的时候,运行时间还是吓了我一跳解法二: brute ...原创 2018-11-11 13:14:21 · 100 阅读 · 0 评论 -
[重拾 leetcode - go] [array] 11. Container With Most Water
原题链接解答这道题的关键就是-木桶可以盛多少水,完全是由短边决定的。解法一:Brute Force遍历数组,比较数组任意两个值组合形成的面积的大小。时间复杂度 O(N^2)空间复杂度 O(1)解法二: two pointer设置两个指针,一个指向数组最左边,一个指向数组最右边计算数组之间形成的面积值并更新最大值移动指针,移动原则是:移动二者中较短的那一个(这样才不会给我们带来损...原创 2018-11-23 21:11:01 · 124 阅读 · 0 评论 -
[重拾 leetcode - go] [array] 4. Median of Two Sorted Arrays
原题链接这道题中要求的时间复杂度是 O(log(m + n))但是,但是!用 go 来写,很普通的O(m+n)的解法也可以AC,而且时间上很有优势,go 的性能真是太赞了解法一:合并两个有序数组求合并后数组的中位数这种方式在合并的时候需要遍历两个数组,时间复杂度是 O(m + n),同时也会占用 O(m+n) 的空间。精简代码(同样的逻辑,,大神来写还是可以被优化,,)func...原创 2018-11-17 22:17:23 · 117 阅读 · 0 评论 -
[重拾 leetcode - go] [array] 15. 3Sum
原题链接看到题目,受到2Sum题目的影响,首先想到的就是固定一个数,然后借助map/set来寻找满足条件的两个数组合。my codefunc threeSum(nums []int) [][]int { var result [][] int if nums == nil || len(nums) < 3 { return result } ...原创 2018-11-24 15:53:10 · 104 阅读 · 0 评论 -
go-基础概念:包,可见性,程序执行过程
文章目录包可见性程序执行过程包包是结构化代码的一种方式,每个go程序都由包组成(相当于java的类库)。每个go文件都属于且仅属于一个包。一个包可以由许多.go源文件组成。包名都由小写字母组成。如果想要构建一个程序,则包和包内的文件都必须以正确的顺序进行编译。包的依赖关系决定了其构建顺序。属于同一个包的源文件必须全部被一起编译,一个包即是编译时的一个单元,因此根据惯例,每个目录都只包...原创 2018-12-19 19:51:38 · 535 阅读 · 0 评论 -
[重拾 leetcode - go] [array]31. Next Permutation
原题链接1)逆序寻找第一个下降点(下降点之后的序列已经是完全逆序的)2-A)如果完全逆序,完全反转即可返回2-B)非完全逆序,寻找第一个大于下降点的数up (up 就是下一个要放到前面的)3)swap(down, up)4) reverse(down + 1, len-1) (后面调整为正序,才是下一个要找的)/*** 字母序-升序-下一个排列1)逆序寻找第一个下降点(下降点之后...原创 2018-12-27 10:22:34 · 227 阅读 · 0 评论 -
[重拾 leetcode - go] [array] 16. 3Sum Closest
原题链接看了题目之后,原以为是01背包问题,建好模型之后发现,,一个条件搞错了。背包问题中,有的是最大容量限制,而本问题中,必须3个数,是一个固定值的限制。貌似并不能用dp的办法解。最后屈服于双指针1, 排序2,固定一个值,用搜索的办法查找另外两个值时间复杂度 O(N^2)空间复杂度 O(1)/*** 原来想着是 01背包问题,,后来发现不对,这个不是说做多3个数,而是说必须3个...原创 2018-12-24 21:40:02 · 226 阅读 · 0 评论 -
[重拾 leetcode - go] [array]18. 4Sum
原题链接看到这类问题已经放弃挣扎了,,排序固定一个,找另外3个 --》转化为 3sum, 再固定一个,找另外两个,,then, binary search需要注意的就是去重时间复杂度 O(N^3)空间复杂度 O(1)func fourSum(nums []int, target int) [][]int { var result [][]int if nums =...原创 2018-12-24 21:43:24 · 254 阅读 · 0 评论 -
Golang 并发 - runner [Part One]
Golang 并发 - runnerrunner包简介源码解析runner包简介用途使用channel监视程序的执行时间终止程序使用场景调度后台处理任务的程序(该任务可能作为cron作业执行,or在基于定时任务的云环境里执行)源码解析// runner 包管理处理任务的运行与生命周期package runnerimport ( "errors" "os"...原创 2019-06-20 18:35:47 · 305 阅读 · 0 评论