随笔分类 - 做题总结
摘要:错误思考 53. 最大子数组和 初次看题,首先暴力的来看,最大子数和。那么就是将每一个数组里的数作为开头,然后向后遍历找。直到找到最大,时间O(n2),显然不合适。 于是思考有木有更好的方法,于是就开始思考有木有规律。于是想到先以第一个数为开头,然后向后遍历找到最大,然后再把开头开始一个一个减去,找
阅读全文
摘要:首先我们明确,二分都是由于某个可以检查的条件,将一个区间分为两半 所以我们首先有一个check函数,对中间mid进行判断 func check(mid int) bool { } 第二步,对区间进行划分 两种区间的划分,对应两种写法 // 区间[l, r]被划分成[l, mid]和[mid + 1,
阅读全文
摘要:1. 手撸快排,最直接的方法,也是最慢的 func quicksort(nums []int,start int,end int){ if start >= end { return } root := nums[end] l := start r := end for l < r { for nu
阅读全文