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



全部评论

相关推荐

mjasjon:这种trash中厂 简历过筛概率比大厂还低(除阿里系)
投递哔哩哔哩等公司6个岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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