题解 | 相差不超过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)



全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务