上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 34 下一页
摘要: 简单的后缀解法,其实分析不论什么方法都是这边入手,看了一个树解决思路的确不错,但是这里还是随便po个简单的方法吧,有点困了。 func minimumLengthEncoding(words []string) int { out := 0 m := map[string]bool{} for _, 阅读全文
posted @ 2020-03-28 23:31 zhangyu63 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 读懂题意,然后好像没难点了,但是感觉通用的方法效率略差啊,如果是用上并行流会好一些。 func hasGroupsSizeX(deck []int) bool { num := make(map[int]int) for _, v := range deck { num[v]++ } for _, 阅读全文
posted @ 2020-03-27 22:41 zhangyu63 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 这题看懂题意没难度,但是有没有更好的非步进迭代思路呢,比如一个棋盘巨大的那种,按方向迭代就显得有些低效了。看了提交的代码没发现比较好的思路,首先是不是能在找白棋的步骤简化一些,这里的问题是必须要xy同时满足才能确定白棋坐标,那我想能否用大范围的rand思路配合多指针,毕竟如果是一亿行列的棋盘,这种时 阅读全文
posted @ 2020-03-26 22:39 zhangyu63 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 这题很简单,但是我居然读错题了。grid是个二维数组,取每个点代表每个xy的竖列堆放的个数。 func surfaceArea(grid [][]int) int { area := 0 for i, row := range grid { for j, level := range row { i 阅读全文
posted @ 2020-03-25 23:41 zhangyu63 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 额,快慢指针,单指针是没必要当作题来做的。 /** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */ func middleNode(head *ListNo 阅读全文
posted @ 2020-03-23 23:22 zhangyu63 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 本着解题的思路,这题是好解决的,但是如果实际场景的话,首先sort为首的就不该首选,当然可能sort的比非sort还要快(逃 func minIncrementForUnique(A []int) int { sort.Ints(A) var nums int for i:= 0 ;i<len(A) 阅读全文
posted @ 2020-03-22 23:43 zhangyu63 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 一般思维这个题可能会想到bfs,但是看了题解发现数学法是很不错的选择,这题要是用bfs其实也有点勉强,我目前的理解是算法是解决简化问题的而不是制造问题的,如果可以用很强的数学公式解决也是有限考虑的。 而贝祖定理告诉我们,ax+by=zax+by=z 有解当且仅当 zz 是 x, yx,y 的最大公约 阅读全文
posted @ 2020-03-21 23:58 zhangyu63 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 这个题用Java的一些特殊数据结构来做是很简单的,如果加一个思想就是最大堆思想。 class Solution { public int[] getLeastNumbers(int[] arr, int k) { if (k == 0) { return new int[0]; } Queue<In 阅读全文
posted @ 2020-03-20 23:47 zhangyu63 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 这个题考察的是什么贪心,如果能一眼看出贪心也算可以了。贪心一步迭代很少见。 func longestPalindrome(s string) int { var count [128]int len := 0 for _, v := range s { count[v]++ } for _, v : 阅读全文
posted @ 2020-03-19 23:17 zhangyu63 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 这题是考察数学的,可以用公式推导,但是实际上本质视觉上也很好写个区分代码。 func isRectangleOverlap(rec1 []int, rec2 []int) bool { return !(rec1[0] >= rec2[2] || rec1[2] <= rec2[0] || rec1 阅读全文
posted @ 2020-03-18 23:27 zhangyu63 阅读(175) 评论(0) 推荐(0) 编辑
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 34 下一页