牛客网 NC204859 组队

目录

文章目录

  • 牛客网 NC204859 组队
    • 目录
    • 1. 题目描述
      • 1.1. Limit
      • 1.2. Problem Description
      • 1.3. Input
      • 1.4. Output
      • 1.5. Sample Input
      • 1.6. Sample Output
      • 1.7. Note
      • 1.8. Source
    • 2. 解读
    • 3. 代码

1. 题目描述

1.1. Limit

Time Limit: C/C++ 1秒,其他语言2秒

Memory Limit: C/C++ 262144K,其他语言524288K

1.2. Problem Description

你的团队中有 nnn 个人,每个人有一个能力值 aia_iai​,现在需要选择若干个人组成一个团队去参加比赛,由于比赛的规则限制,一个团队里面任意两个人能力的差值必须要小于等于 kkk,为了让更多的人有参加比赛的机会,你最多能选择多少个人参加比赛?

1.3. Input

第一行一个整数 TTT,表示案例组数。每个案例有两行:第一行两个正整数 n,kn,kn,k,表示人的数量。第二行n个以空格分隔的整数a_i,表示每个人的能力值。

1.4. Output

每个案例输出一行,表示可以参加比赛的最多人数。

1.5. Sample Input

1
5 3
8 3 5 1 6

1.6. Sample Output

3

1.7. Note

选择能力值为 3,5,63, 5, 63,5,6 或 5,6,85, 6, 85,6,8。

T≤10T \leq 10T≤10

1≤n≤2e51 \leq n \leq 2e51≤n≤2e5

1≤k≤1e91 \leq k \leq 1e91≤k≤1e9

1<=ai<=1e91 <= a_i <= 1e91<=ai​<=1e9

1.8. Source

牛客网 NC204859 组队

2. 解读

使用滑动窗口进行计算。

先对数组从小到大进行排序,如果 [left,right][left, right][left,right] 区间内的数都满足 list[right]−list[left]<=klist[right] - list[left] <= klist[right]−list[left]<=k,则 right=right+1right = right + 1right=right+1,否则 left=left+1left = left + 1left=left+1,每滑动一次计算一次 ans=right−leftans = right - leftans=right−left,取所有情况的最大值即可。

3. 代码

#include<iostream>
#include<string.h>
#include<algorithm>
using namespace std;const int num = 2e5 + 1;
long long list[num];int main(){long long t, n, k, ans, buffer, left, right;scanf("%lld", &t);for(int j = 0; j < t; j++){// 初始化memset(list, 0, sizeof(list));ans = 0;left = 0;right = 1;// 输入scanf("%lld %lld", &n, &k);for(long long i = 0; i < n; i++){scanf("%lld", &list[i]);}// 排序sort(list, list + n);// 计算while(right < n){// 当右端点为n时结束循环if(list[right] - list[left] <= k){// 如果满足条件,最大值和最小值差值小于等于k// 右端点右移right++;}else{// 不满足条件,左端点右移left++;}ans = max(ans, right - left);}printf("%lld\n", ans);}return 0;
}

联系邮箱:curren_wong@163.com

CSDN:https://me.csdn.net/qq_41729780

知乎:https://zhuanlan.zhihu.com/c_1225417532351741952

公众号:复杂网络与机器学习

欢迎关注/转载,有问题欢迎通过邮箱交流。

牛客网 NC204859 组队 滑动窗口相关推荐

  1. Java算法:牛客网Java版剑指Offer全套算法面试题目整理及电子档,Java算法与数据结构面试题,面试刷题、背题必备!牛客网剑指offer

    剑指offer(java版) 牛客网Java版剑指Offer全套题目67道 资源来源于网络 目录 1.二维数组中的查找 2.替换空格 3.从尾到头打印链表 4.重建二叉树 5.用两个栈实现队列 6.旋 ...

  2. 【牛客网面经整理】阿里面经

    作者:OfferOffer多多 链接:https://www.nowcoder.com/discuss/505316?type=post&order=time&pos=&pag ...

  3. 牛客网Java后端开发面经汇总

    感谢牛客网! 文章目录 Java基础知识 计算机网络知识 MySQL.数据库 常用数据结构 操作系统 Spring 设计模式 分布式 Redis Mybatis 消息队列 场景题 手撕代码 Linux ...

  4. 2021字节跳动秋招整理牛客网---Java后端提前批面试

    一.字节提前批 java 后端一面 1.1 你说你用了 RPC 远程调用,讲讲原理是怎么样的 RPC(Remote Procedure Call)远程调用,通过某种手段,协议,约定调用非本地服务 RP ...

  5. 牛客网算法教程-中级篇-第一章

    文章目录 学习目标: 学习内容: 学习时间: 学习产出: 1.旋转词-模拟 2.旋转矩阵-模拟 3.数轴覆盖-贪心 4.1 完整字符串1(括号字符串的有效性)-栈 4.2 完整字符串2(缺失的括号)- ...

  6. 今日头条后端面经总结(2018.12月)(转自牛客网)

    面经(后端): 一 操作系统中的进程和线程还有虚拟存储. 计算机网络TCP和UDP仔细看一下,也不要放过滑动窗口; 还有计算机网络体系结构各层都要熟悉. lambda表达式 spring 智力题,比如 ...

  7. 校招linux基础知识,校招笔试整理 牛客网 2020小米校招(1)

    前端 笔试 选择 牛客网 2020小米校招(1) 2020小米校招 localStorage和cookie 在现代浏览器中, cookie可以在跨域请求中被携带在请求头中 localStorage被设 ...

  8. 仿牛客网项目第二章:开发社区登录模块(详细步骤和思路)

    目录 1. 发送邮件 1.0 三步走 1.1 邮箱设置 1.2 Spring Email 1.3 模板引擎 1.4 发送邮件的过程 1.5 检验发送邮件的过程 2. 开发注册功能 2.0 注册功能的步 ...

  9. 牛客网剑指offer java 全部题解

    经过数月的努力,终于更完了牛客网的66道剑指offer,以下的顺序和大家在牛客网的顺序是一样的(排序也花了不少时间),希望对大家找工作/提高算法能力能起到些许帮助. 每天一道剑指offer-二维数组中 ...

最新文章

  1. 【数字信号处理】傅里叶变换性质 ( 序列对称分解定理示例 | 共轭对称序列与原序列之间的关系 | 共轭反对称序列与原序列之间的关系 )
  2. 做折线图的软件_三星Galaxy Labs,它由4个下层软件构成,各有其用
  3. Spring 配置元数据
  4. boost::geometry::model::infinite_line用法的测试程序
  5. 第一天 :学习node.js
  6. 伪指令endp告诉汇编程序_第2章 指令系统及汇编语言程序设计 题库和答案
  7. 手机壁纸 NBA群星高清壁纸
  8. JavaScript异步编程之事件
  9. python123-python123练习题.doc
  10. gulp-API介绍
  11. 学生用计算机如何clean,windows installer clean up,教您电脑如何使用清理实用工具
  12. MVC案例之DAO层实现
  13. python小学生入门教程-python 小学生教程|怎么让一个小学生学会Python?
  14. 商用型虚拟试衣技术亮相CES Asia ,好买衣携手CA催生服装新零售变革
  15. vnc远程控制软件配置,vnc远程控制软件怎么配置的,教程详解
  16. 服务器1m带宽文件上传好慢,为什么10m光纤宽带上传速度只有1m还不到2m
  17. 艺术与实在中的递归 递归和原始递归函数——读哥德尔之六
  18. 数据分析2——核心思维技巧
  19. 服务器租用价格与哪些因素有关?
  20. Chrome浏览器默认全屏启动(非--kiosk模式)

热门文章

  1. 希尔排序(动图+详解)
  2. PMO如何赋能与支撑组织级项目管理?
  3. MATLAB机器人工具箱(四)动力学
  4. c语言 tan atan的使用说明
  5. 【Aegisub相关】loop修饰语实现对应的源码
  6. 千年虫病毒是不是计算机病毒,千年虫病毒是为什么?
  7. PLC实验-四传送带的模拟
  8. [小笑话]林蛋大与楚中天
  9. 来看看这位年轻的 eBay 小伙是如何成为 Committer
  10. 【知识蒸馏】Knowledge Review