2021-05-15:数组为{3, 2, 2, 3, 1},查询为(0, 3, 2),意思是在数组里下标0~3这个范围上,有几个2?答案返回2。...比如{3,2,2,3,1},保存到map里就是{3:0,3,2:0,1,1:4},然后用二分法查找某个数的索引范围。
代码用golang编写。...代码如下:
package main
import "fmt"
func main() {
arr := []int{3, 2, 2, 3, 1}
box := NewQueryBox2...的下标有几个
b := this.countLess(indexArr, R+1)
return b - a
}
// 在有序数组arr中,用二分的方法数出数有几个
//...也就是用二分法,找到数中最右的位置
func (this *QueryBox2) countLess(arr []int, limit int) int {
L := 0