上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 34 下一页
摘要: 套路题,难点在于数组处理字母,准确是可能想不到,容易滥用map,map在数据量小的时候真心不推荐使用。 func count(word string) []int { counter := make([]int, 26) for i := 0; i < len(word); i++ { c := w 阅读全文
posted @ 2020-03-17 23:45 zhangyu63 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 额,这题很明显就可用双指针,感觉没考察点啊,今天主要在实战pprof,可总结的不多,不想写别的了,多po俩实现 一次迭代string累加,时间很慢,原因是string。 func compressString(s string) string { if len(s) == 0 { return s 阅读全文
posted @ 2020-03-16 22:56 zhangyu63 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 这题典型的搜索,是深度还是广度,这就随便了。我觉得深度比较合适一点,这数据也不大。 package leetcode func maxAreaOfIsland(grid [][]int) int { if len(grid) == 0 || len(grid[0]) == 0 { return 0 阅读全文
posted @ 2020-03-15 22:54 zhangyu63 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 测试类型转换和类型判断的效率 package main import "testing" type InterfaceA interface { AA() } type InterfaceB interface { BB() } type A struct { v int } type B stru 阅读全文
posted @ 2020-03-15 21:04 zhangyu63 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 此题两个思路,动态规划,二分+贪心,实际上动态规划对于数据量极小的来讲不存在优先考虑的场景,测试也发现并不乐观。 package leetcode func lengthOfLIS(nums []int) int { if nums == nil || len(nums) == 0 { return 阅读全文
posted @ 2020-03-15 00:09 zhangyu63 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 近期学习gin,goropcache,gorm项目的源码,发现所谓框架就是本质上的原生封装。并对模仿乐此不疲。 拿gin举例,几乎没有实现难点,go的net原生已经堪称完美,路由上的分组处理也只是一种解析思维,整天上还是handler func的中间式处理。 gocache的实现无非是针对缓存的三个 阅读全文
posted @ 2020-03-14 23:31 zhangyu63 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 这个题很简单,而且没什么条件限制,实际上应该加上复杂度等限制的。 一个有趣的解法就是投票 func majorityElement(nums []int) int { kv := make(map[int]int) max := 0 res := 0 for _, v := range nums { 阅读全文
posted @ 2020-03-14 00:02 zhangyu63 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 先理解题意,什么叫三等分,说明三块相等,那么问题抽象成什么了? 每一块都等于sum / 3 且只要两块相等则可以推出第三块也相等 所以求解就是 两块的值为sum / 3 且相等 func canThreePartsEqualSum(A []int) bool { sum := 0 for _, v 阅读全文
posted @ 2020-03-11 23:39 zhangyu63 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 一致性哈希主要在于节点的增删不会大面积的造成缓存穿透,也就是说请求方会微调而不是全调。 学习自https://geektutu.com/post/geecache-day4.html package consistenthash import ( "hash/crc32" "sort" "strco 阅读全文
posted @ 2020-03-10 22:29 zhangyu63 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 暴力法就是两次迭代,对于这道题倒是ok,但是实际场景是不能选择的,因此直接用单步迭代的方式,无非就是记录最低点,找max差值点。 func maxProfit(prices []int) int { var minprice = math.MaxInt64 var maxprofit = 0 for 阅读全文
posted @ 2020-03-09 23:59 zhangyu63 阅读(162) 评论(0) 推荐(0) 编辑
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 34 下一页