题解 | 相差不超过k的最多数 Python3
相差不超过k的最多数
https://www.nowcoder.com/practice/562630ca90ac40ce89443c91060574c6
import sys # 本题相当于先排序,然后两个指针滑动窗口找左右指针范围内最多的数 # 当 right-left >k 的时候,滑动左,否则滑动右 n, k = list(map(int, input().split())) nums = list(map(int, input().split())) nums.sort() left, right = 0, 0 max_len = 0 while right<n: if nums[right] - nums[left] > k: max_len = max(max_len, right -left) left += 1 else: right += 1 max_len = max(max_len, n-left) print(max_len)