2021-05-01:给定一个有序数组arr,代表坐落在X轴上的点。给定一个正数K,代表绳子的长度。返回绳子最多压中几个点?即使绳子边缘处盖住点也算盖住。

2023-07-29,,

2021-05-01:给定一个有序数组arr,代表坐落在X轴上的点。给定一个正数K,代表绳子的长度。返回绳子最多压中几个点?即使绳子边缘处盖住点也算盖住。

福大大 答案2021-05-01:

滑动窗口。窗口只会变大或者不变,不会变小。最后右指针位置减去左指针位置,就是需要返回的长度。

代码用golang编写。代码如下:

package main

import "fmt"

func main() {
arr := []int{1, 4, 5, 6, 9, 10, 12, 17}
ret := maxPoint(arr, 4)
fmt.Println(ret)
}
func maxPoint(arr []int, num int) int {
arrLen := len(arr)
L := 0
R := 0
for R < arrLen {
if arr[R]-arr[L] > num {
L++
}
R++
}
return R - L
}

执行结果如下:


左神java代码

2021-05-01:给定一个有序数组arr,代表坐落在X轴上的点。给定一个正数K,代表绳子的长度。返回绳子最多压中几个点?即使绳子边缘处盖住点也算盖住。的相关教程结束。

《2021-05-01:给定一个有序数组arr,代表坐落在X轴上的点。给定一个正数K,代表绳子的长度。返回绳子最多压中几个点?即使绳子边缘处盖住点也算盖住。.doc》

下载本文的Word格式文档,以方便收藏与打印。