【题解】AB33 相差不超过k的最多数(排序 + 滑动窗口)

https://www.nowcoder.com/practice/562630ca90ac40ce89443c91060574c6?tpId=308&tqId=40490&ru=/exam/oj

排序 + 滑动窗口

cpp 复制代码
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
    int n, k;
    cin >> n >> k;
    vector<int> v(n);
    for (int i = 0; i < n; ++i) {
        cin >> v[i];
    }
    sort(v.begin(), v.end());

    // 滑动窗口
    int ret = 0;
    for (int left=0, right=1; right < n; ++right) {
        while(v[right] - v[left] > k) {
            ++left;
        }
        int len = right - left + 1;
        if (ret < len) ret = len;
    }
    cout << ret << endl;

    return 0;
}
相关推荐
ChoSeitaku18 分钟前
链表循环及差集相关算法题|判断循环双链表是否对称|两循环单链表合并成循环链表|使双向循环链表有序|单循环链表改双向循环链表|两链表的差集(C)
c语言·算法·链表
娅娅梨20 分钟前
C++ 错题本--not found for architecture x86_64 问题
开发语言·c++
兵哥工控24 分钟前
MFC工控项目实例二十九主对话框调用子对话框设定参数值
c++·mfc
汤米粥26 分钟前
小皮PHP连接数据库提示could not find driver
开发语言·php
Fuxiao___27 分钟前
不使用递归的决策树生成算法
算法
冰淇淋烤布蕾28 分钟前
EasyExcel使用
java·开发语言·excel
我爱工作&工作love我32 分钟前
1435:【例题3】曲线 一本通 代替三分
c++·算法
拾荒的小海螺35 分钟前
JAVA:探索 EasyExcel 的技术指南
java·开发语言
马剑威(威哥爱编程)1 小时前
哇喔!20种单例模式的实现与变异总结
java·开发语言·单例模式
娃娃丢没有坏心思1 小时前
C++20 概念与约束(2)—— 初识概念与约束
c语言·c++·现代c++