题解 | #相差不超过k的最多数#
相差不超过k的最多数
https://www.nowcoder.com/practice/562630ca90ac40ce89443c91060574c6
ez
思路:双指针,滑动窗口
import sys
def mostnum(a:list):
ans = 0
p1, p2 = 0, 0
while (p2 <= len(a)-1):
while(p2 <= len(a)-1 and a[p2]-a[p1] <= k):
p2 += 1
ans = max(ans, p2-p1)
while(p2 <= len(a)-1 and a[p2]-a[p1] > k):
p1 += 1
return ans
n,k = list(map(int, input().strip().split(' ')))
a = []
# for i in range(n):
a = list(map(int, input().strip().split(' ')))
a.sort()
print(mostnum(a))
查看1道真题和解析