摘要: 查找一个数 int binarySearch(int[] nums, int target) { int left = 0; int right = nums.length - 1; // 注意 while(left <= right) { int mid = left + (right - lef 阅读全文
posted @ 2022-03-16 17:53 ☞@_@ 阅读(20) 评论(0) 推荐(0) 编辑
摘要: func SlideWindow(s, t string){ mp:=map[byte]int{} window:=map[byte]int{}//window是[left,right)区间内的的哈希表 //根据目标串构建哈希表 for i:=0;i<len(t);i++{ mp[t[i]]++ } 阅读全文
posted @ 2022-03-16 15:48 ☞@_@ 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 前缀和的适用场景是:原始数组不会被修改的情况下,频繁查询某个区间的累加和。 //第一步:根据数组构建前缀和 func PreSum(nums []int)[]int{ m:=len(nums) if m==0{ return[]int{} } preSum:=make([]int,m) for i: 阅读全文
posted @ 2022-03-16 10:37 ☞@_@ 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 差分数组的适用场景是:频繁对原始数组的某个区间的元素进⾏增减。 //第一步:构建差分数组 func Diff(nums []int)[]int{ m:=len(nums) if m==0{ return []int{} } diff:=make([]int,m) diff[0]=nums[0] fo 阅读全文
posted @ 2022-03-16 10:20 ☞@_@ 阅读(24) 评论(0) 推荐(0) 编辑