题解 | #相差不超过k的最多数#

相差不超过k的最多数

https://www.nowcoder.com/practice/562630ca90ac40ce89443c91060574c6

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;
import java.util.Arrays;
import java.util.PriorityQueue;
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StreamTokenizer st = new StreamTokenizer(br);
        st.nextToken();
        int n = (int)st.nval;
        int[] nums = new int[n];
        st.nextToken();
        int k = (int)st.nval;
        for (int  i = 0 ; i < n ; i++) {
            st.nextToken();
            nums[i] = (int)st.nval;
        }
         Arrays.sort(nums);
        int count = 0;
        int r = 0, l = 0;
        while (r < n) {
            if (nums[r] - nums[l] > k) {

                //左指针右移
                l++;
            }
            count  = Math.max(count, r - l + 1);
            //右指针右移保持前一次最大长度
            r++;
        }
        System.out.println(count);
    }
}

全部评论

相关推荐

这就是上等人的社会吗:都先停一停,有没有hxd告诉我在哪里点京东外卖,捣鼓半天,注册成了专送骑手查看图片
投递美团等公司10个岗位 > 京东美团大战,你怎么看?
点赞 评论 收藏
分享
learYuan:🐕看了都摇头
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务