每日一算法

server/2024/11/13 11:55:56/

问题

等待登机的你看着眼前有老有小长长的队伍十分无聊,你突然 想要知道,是否存在两个年龄相仿的乘客。每个乘客的年龄用 1个0 到 36500 的整数表示,两个乘客的年龄相差 365 以内 就认为是相仿的。 具体来说,你有一个长度为 n 的数组,每个数组元素都是一 个0~ 36500 的整数。

给出q个二元组l,r,判断数组在区 间[l,r]上是否存在两个差值小于等于 365 的数,

若存在输出 YES,否则输出 NO。

输入格式 第一行两个整数 n,q,表示乘客数和询问数。 接下来一行 n 个整数,表示乘客的年龄。 接下来q行,每行两个整数 l,r表示查询。

输出格式 q行,每行输出 YES 或者 NO,分别表示区间内存在/不存在 年龄相仿的乘客。题目来蓝桥云 

解析

这段代码首先读取乘客数 n 和询问数 q。然后,它读取乘客的年龄数组 ages。接下来,对于每个查询 [l, r],它使用双重循环来查找区间内是否存在两个年龄相仿的乘客。在内部循环中,对于每对乘客年龄,它计算它们的差值是否小于等于 365。如果找到了满足条件的乘客年龄对,就将 found 置为 true,并且在最外层循环中跳出。最后根据 found 的值输出相应的结果 "YES""NO"

请确保输入和输出格式与题目描述一致,并注意边界条件的处理,例如数组下标和区间的范围。

代码

import java.util.Scanner;public class SimilarAges {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 读取乘客数和询问数int n = scanner.nextInt();int q = scanner.nextInt();// 读取乘客年龄数组int[] ages = new int[n];for (int i = 0; i < n; i++) {ages[i] = scanner.nextInt();}// 处理每个查询for (int i = 0; i < q; i++) {// 读取查询的左右边界int l = scanner.nextInt();int r = scanner.nextInt();// 判断是否存在相似年龄的乘客boolean found = false;// 使用双重循环查找区间内的年龄是否相似for (int j = l - 1; j < r; j++) {for (int k = j + 1; k < r; k++) {if (Math.abs(ages[j] - ages[k]) <= 365) {found = true;break;}}if (found) {break;}}// 输出结果if (found) {System.out.println("YES");} else {System.out.println("NO");}}scanner.close();}
}


http://www.ppmy.cn/server/32906.html

相关文章

redis哨兵原理

redis集群中为了防止主机宕机导致集群瘫痪&#xff0c;引入了哨兵集群&#xff0c;哨兵集群通过实时监控主机是否正常运行&#xff0c;并且在主机出现故障时及时将另一个满足条件的从机变为新的主机以保证redis集群正常运转&#xff0c;那这一过程具体发生了什么呢&#xff1f;…

笔试强训week3

day1 Q1 难度⭐ 牛牛冲钻五_牛客小白月赛38 (nowcoder.com) 题目&#xff1a; 牛牛最近在玩炉石传说&#xff0c;这是一款一对一对战的卡牌游戏&#xff0c;牛牛打算努力冲上钻五分段&#xff0c;获得丰厚的天梯奖励。 炉石传说的段位可以用星数来表示&#xff0c;具体规则…

算法打卡day41

今日任务&#xff1a; 1&#xff09;198.打家劫舍 2&#xff09;213.打家劫舍II 3&#xff09;337.打家劫舍III 4&#xff09;复习day16 198.打家劫舍 题目链接&#xff1a;198. 打家劫舍 - 力扣&#xff08;LeetCode&#xff09; 你是一个专业的小偷&#xff0c;计划偷窃沿街…

Nacos如何支持服务发现和注册?

Nacos如何支持服务发现和注册 在微服务架构的浪潮中&#xff0c;服务发现和注册成为了支撑整个架构稳定运行的关键技术之一。而Nacos&#xff0c;作为阿里巴巴开源的一个动态服务发现、配置管理和服务管理平台&#xff0c;凭借其简单易用、功能强大的特性&#xff0c;受到了广…

AI-数学-高中-51随机变量-条件概率与独立事件

原作者视频&#xff1a;【随机变量】【一数辞典】1条件概率与独立事件_哔哩哔哩_bilibili

【已解决】VSCode 连接远程 Ubuntu :检测到 #include 错误。请更新 includePath。

文章目录 1. 环境声明2. 解决过程 1. 环境声明 即使是同一个报错&#xff0c;在不同的环境中&#xff0c;报错原因、解决方法都是不同的&#xff0c;本文只能解决跟我类似的问题&#xff0c;如果你发现你跟我遇到的问题不太一样&#xff0c;建议寻找其他解法。 必须要吐槽的是…

Vue3组合式API + TS项目中手写国际化插件

文章目录 1. 在项目中创建一个国际化插件的文件i18n.ts2. 创建语言模块json3. 注册插件4. 语言切换组件5. 使用插件(ts中使用全局需注意点) 1. 在项目中创建一个国际化插件的文件i18n.ts <!-- plugins/i18n.ts --> export const i18nPlugin {install(app: any, option:…

建造者模式

建造者模式简介 建造者模式又称为生成器模式,主要用于对复杂对象的构建和初始化,他可以将多个简单的对象按照一定的顺序一步步组装起来,最终形成一个复杂的成品,比如飞船、火车、计算机、积木等等。建造者模式的主要目的在于把繁琐的构建过程从不同的对象抽离出来,使其脱…