每日一算法

问题

等待登机的你看着眼前有老有小长长的队伍十分无聊,你突然 想要知道,是否存在两个年龄相仿的乘客。每个乘客的年龄用 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"

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

代码

java 复制代码
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();
    }
}
相关推荐
稚辉君.MCA_P8_Java22 分钟前
Gemini永久会员 C++返回最长有效子串长度
开发语言·数据结构·c++·后端·算法
京东零售技术1 小时前
下一代 Lakehouse 智能未来新引擎 | Apache Hudi Meetup亚洲站活动回顾
算法
京东零售技术1 小时前
NeurIPS 2025 | TANDEM:基于双层优化的数据配比学习方法
后端·算法
zmzb01031 小时前
C++课后习题训练记录Day42
开发语言·c++·算法
CoovallyAIHub1 小时前
MAR-YOLOv9:革新农业检测,YOLOv9的“低调”逆袭
深度学习·算法·计算机视觉
Mr Lee_1 小时前
Smali 文件生成dex装箱算法整合
开发语言·python·算法
LDG_AGI1 小时前
【推荐系统】深度学习训练框架(十三):模型输入——《特征索引》与《特征向量》的边界
人工智能·pytorch·分布式·深度学习·算法·机器学习
CoovallyAIHub1 小时前
如何让SAM3在医学图像上比专用模型还强?一个轻量Adapter如何让它“秒变”专家?
深度学习·算法·计算机视觉
suoge2232 小时前
热传导控制方程有限元弱形式推导-有限元编程入门
算法
希望有朝一日能如愿以偿2 小时前
力扣每日一题:统计梯形的数目
算法·leetcode·职场和发展