华为OD机试 - ABR 车路协同场景 - (Java 2023 B卷 100分)

news/2024/7/20 18:38:16 标签: 华为od, java, python

在这里插入图片描述

目录

    • 专栏导读
    • 一、题目描述
      • 1、问题
      • 2、条件
      • 3、原型
    • 二、输入描述
    • 三、输出描述
    • 四、Java算法源码
    • 五、效果展示
      • 1、输入
      • 2、输出

华为OD机试 2023B卷题库疯狂收录中,刷题点这里

专栏导读

本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷)》。

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

一、题目描述

1、问题

数轴×有两个点的序列A={A1,A2,…Am}和B={B1,B2,.Bn},A和Bj均为正整数,A、B已经从小到大排好序,A、B均肯定不为空,给定一个距离R(正整数),列出同时满足如下条件的所有(Ai,Bj)数对

2、条件

  1. Ai <= Bj
  2. Ai,Bj 距离小于等于 R,但如果Ai 找不到R范围内的Bj,则列出距它最近的1个Bj,当然此种情况仍然要满足1),但如果仍然找不到,就丢弃Ai

3、原型

车路协同场景,一条路上发生了有很多事件(A),要通过很多路测设备(B)广播给路上的车,需要给每个事件找到一个合适的路测设备去发送广播消息。

二、输入描述

按照人易读的格式输入一行数据,参见输入样例,其中“ABR={,}”中的每个字符都是关键分割符,输入中无空格,其他均为任意正整数,输入A和B已经排好序,A和B的大小不超过50,正整数范围不会超过65535。

三、输出描述

(Ai,Bj)数对序列,排列顺序满足序列中前面的Ax<=后面的Ay,前面的 Bx<=后面的By,因为输入A和B已经排好序,所以实际上输出结果不用特意排序,排序不是考察点。

四、Java算法源码

java">package com.guor.od;

import java.util.*;

public class OdTest {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[] arrA = Arrays.stream(sc.nextLine().split(" ")).mapToInt(Integer::parseInt).toArray();
        int[] arrB = Arrays.stream(sc.nextLine().split(" ")).mapToInt(Integer::parseInt).toArray();
        int R = Integer.valueOf(sc.nextLine());
        for (int a : arrA) {
            int tempB = -1;
            int near = -1;
            boolean flag = false;
            for (int b : arrB) {
                if (b - a == R && b > tempB) {
                    System.out.print("(" + a + "," + b + ")");
                    tempB = b;
                    flag = true;
                    break;
                }
                if (b - a > R) {
                    near = b;
                    break;
                }
            }
            if (flag == false && near != -1) {
                System.out.print("(" + a + "," + near + ")");
            }
        }
    }
}

五、效果展示

1、输入

A={1,3,5},B={2,4,6},R=1

2、输出

(1,2)(3,4)(5,6)

在这里插入图片描述


🏆下一篇:华为OD机试真题 Java 实现【简易内存池】【2023 B卷 200分 考生抽中题】

🏆本文收录于,华为OD机试(JAVA)真题(A卷+B卷)

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

在这里插入图片描述


http://www.niftyadmin.cn/n/4953538.html

相关文章

centos7的flink安装过程

安装步骤 下载flink的tar.gz包修改flink的conf配置下载需要的lib包 具体代码&#xff08;以flink1.15为例&#xff09; # 下载flink的tar.gz包 wget https://archive.apache.org/dist/flink/flink-1.15.4/flink-1.15.4-bin-scala_2.12.tgz tar -zxvf flink-1.15.4-bin-scala…

LeetCode1218 最长定差子序列

思路 因为不能改变顺序&#xff0c;所以后面的元素&#xff0c;直接看它前面的元素就行。长度为n的数组 长度为n - 1的数组 第 n 个数从前向后遍历&#xff0c;对于每个元素&#xff0c;如果能找到它的前一个元素&#xff0c;就在前一个元素的基础上1&#xff0c;否则就录入…

React Native expo项目修改应用程序名称

https://expo.dev/accounts/xutongbao/projects npm install --global eas-cli && \eas init --id e32cf2c0-da5b-4a65-814a-4958d58f0ca7 eas init --id e32cf2c0-da5b-4a65-814a-4958d58f0ca7 app.config.js: export default {name: 学习,slug: learn-gpt,owner: x…

【自动化测试】测试开发工具大合集

收集和整理各种测试工具&#xff0c;自动化测试工具&#xff0c;自动化测试框架&#xff0c;觉得有帮助记得三连一下。 欢迎提交各类测试工具到本博客。 通用测试框架 JUnit: 最著名的xUnit类的单元测试框架&#xff0c;但是不仅仅可以做单元测试。TestNG: 更强大的Java测试框…

理解麦克斯韦方程组

麦克斯韦方程组 麦克斯韦方程组描述了电与磁在时间与空间的变化规律&#xff0c;是麦克斯韦在总结前人研究的基础上&#xff0c;利用当时成熟的空间微积分学的研究成果&#xff0c;总结出的四个方程。方程组分为微分形式和积分形式两种&#xff0c;他们之间可通过斯托克斯定理…

MySQL8.0.26-Linux版安装

MySQL8.0.26-Linux版安装 1. 准备一台Linux服务器 云服务器或者虚拟机都可以; Linux的版本为 CentOS7; 2. 下载Linux版MySQL安装包 MySQL :: Download MySQL Community Server (Archived Versions) 3. 上传MySQL安装包 4. 创建目录,并解压 mkdir mysql ​ tar -xvf mysql-8…

12_Redis为什么这么快高性能设计之epoll和IO多路复用深度解析

Redis为什么这么快&高性能设计之epoll和IO多路复用深度解析 一、before 多路复用要解决的问题 结论 二、IO多路复用模型 2.1 是什么 IO&#xff1a;网络IO多路&#xff1a;多个客户端连接&#xff08;连接就是套接字描述符&#xff0c;即socket或者channel&#xf…

奇舞周刊第503期:图解串一串 webpack 的历史和核心功能

记得点击文章末尾的“ 阅读原文 ”查看哟~ 下面先一起看下本期周刊 摘要 吧~ 奇舞推荐 ■ ■ ■ 图解串一串 webpack 的历史和核心功能 提到打包工具&#xff0c;可能你会首先想到 webpack。那没有 webpack 之前&#xff0c;都是怎么打包的呢&#xff1f;webpack 都有哪些功能&…