华为OD机试真题 Java 实现【服务中心选址】【2023Q1 100分 】

news2025/2/25 12:55:28

在这里插入图片描述

一、题目描述

一个快递公司希望在一条街道建立新的服务中心。公司统计了该街道中所有区域在地图上的位置,并希望能够以此为依据为新的服务中心选址,使服务中心到所有区域的距离的总和最小。

给你一个数组 positions,其中 positions[i] = [left, right] 表示第 i 区域在街道上的位置,其中left 代表区域的左侧的起点,right 代表区域的右侧终点。

假设服务中心的位置为 location:

  • 如果第 i 个区域的右侧终点 right 满足 right< location,则第 i 个区域到服务中心的距离为location - right;
  • 如果第 i 个区域的左侧起点 left 满足 left> location,则第 i 个区域到服务中心的距离为 left -location;
  • 如果第 i 个区域的两侧 left,right 满足 left <= location <= right,则第 i 个区域到服务中心的距离为 0;

选择最佳的服务中心位置为 location,请返回最佳的服务中心位置到所有区域的距离总和的最小值;

二、输入描述

第一行,一个整数 N 表示区域个数;
后面 N 行,每行两个整数,表示区域的左右起点终点;

三、输出描述

运行结果输出一个整数,表示服务中心位置到所有区域的距离总和的最小值。

四、Java算法源码

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    // 区域个数
    int n = sc.nextInt();
    // 每行两个整数,表示区域的左右起点终点
    double[][] arr = new double[n][2];
    for (int i = 0; i < n; i++) {
        arr[i][0] = sc.nextInt();
        arr[i][1] = sc.nextInt();
    }
    System.out.println(getValue(n, arr));
}

public static int getValue(int n, double[][] arr) {
    ArrayList<Double> tmp = new ArrayList<>();
    for (double[] pos : arr) {
        tmp.add(pos[0]);
        tmp.add(pos[1]);
    }
    tmp.sort(Double::compareTo);
    double min = tmp.get(0);
    double max = tmp.get(tmp.size() - 1);
    double ans = Double.MAX_VALUE;
    for (double i = min; i <= max; i += 0.5) {
        double dis = 0;
        for (double[] pos : arr) {
            double l = pos[0];
            double r = pos[1];
            if (r < i) dis += i - r;
            else if (i < l) dis += l - i;
        }
        ans = Math.min(ans, dis);
    }
    return (int)ans;
}

五、效果展示

1、输入

3
10 20
30 40
50 60

2、输出

30

在这里插入图片描述


🏆本文收录于,华为OD机试(JAVA)(2022&2023)

本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/521045.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

域名批量查询是否注册-老域名批量查询

域名到期时间批量查询软件 您是否也曾遇到过域名到期或续费时间即将到来&#xff0c;而需要手动一个一个查询每个域名的情况&#xff0c;这不仅费时效率低&#xff0c;还可能会遗漏一些域名。那么&#xff0c;我们为您介绍一款可以帮助您快速、便捷查询多个域名到期时间的软件—…

分享去年学习github命令行操作的笔记

git branch -M main 给远程分支改名 一、本地库操作 1.创建本地目录&#xff0c;用于存储要上传的文本文件。可以手动创建也可以用带命令行 mkdir <文件名> 2.进入文件夹cd <文件名> 3第一次创建时需要初始化仓库git init mac显示隐藏文件SHIFTCOMMAND. mac…

Vue3-黑马(六)

目录&#xff1a; &#xff08;1&#xff09;vue3-基础-vueuse &#xff08;2&#xff09;vue3-基础-useRequest &#xff08;3&#xff09;vue3-基础-usePagination &#xff08;1&#xff09;vue3-基础-vueuse 我们在实际中use函数的封装&#xff0c;不用我们自己写&#…

精准室内定位系统源码,采用UWB定位技术开发的智慧工厂定位系统源码

室内定位系统源码&#xff0c;采用UWB定位技术开发的智慧工厂定位系统源码 技术架构&#xff1a;单体服务 硬件&#xff08;UWB定位基站、卡牌&#xff09; 开发语言&#xff1a;java 开发工具&#xff1a;idea 、VS Code 前端框架&#xff1a;vue 后端框架&#xff1a;s…

Linux基础学习---5、磁盘查看和分区类、进程管理类

1、磁盘查看和分区类 1.1 du查看文件和目录占用的磁盘空间 du:disk usage 磁盘占用情况 1、基本语法du 目录/文件 &#xff08;显示目录下每个子目录的磁盘使用情况&#xff09; 2、情况说明选项功能-h以人们较易阅读的GBytes、MBytes、KBytes等格式自行显示-a不仅查看子目录…

iproute2 和 net-tools 介绍

路由&#xff08;Routing&#xff09; 在网络通信中&#xff0c;“路由”是一个网络层的术语。路由是指设备从一个接口上收到数据包&#xff0c;根据数据包的目的地址进行定向并转发到另一个接口的过程。路由表则是若干条路由信息的一个集合体。在路由表中&#xff0c;一条路由…

用Python+OpenCV+Yolov5+PyTorch+PyQt开发的车牌识别软件(包含训练数据)

目录 演示视频 软件使用说明 软件设计思路 演示视频 这是一个可以实时识别车牌的软件&#xff0c;支持图片和视频识别&#xff0c;以下是软件的演示视频。 车牌识别软件 点击查看代码购买地址 软件使用说明 1. 下载源码后&#xff0c;首先安装依赖库。项目所用到的依赖库已…

卷起来了!阿里最新出品“微服务全阶笔记”,涵盖微服务全部操作

近两年&#xff0c;“大厂裁员”总是凭实力冲上各大媒体头条&#xff0c;身在局中的我们早已习以为常。国内的京东&#xff0c;阿里&#xff0c;腾讯&#xff0c;字节&#xff0c;快手&#xff0c;小米等互联网公司都以不同程度的裁员比例向社会输送人才。大量有大厂经验的卷王…

一起打造漂亮的Ubuntu——2023最新版Gnome44

一起打造漂亮的Ubuntu 对于一个工程师&#xff0c;开发者&#xff0c;研究员来说&#xff0c;拥有一台漂亮的机器外加漂亮的系统界面是非常重要的。 作为Ubuntu十年的忠实粉丝&#xff0c;Linux高度依赖用户&#xff0c;无论是工作还是生活&#xff0c;我都一直以来使用着Ubu…

目标检测基础理论

一、基本知识 目标检测中RP什么意思 在目标检测中&#xff0c;RP通常指的是Recall-Precision&#xff0c;即召回率和精确率。召回率是指模型正确识别出的正样本数占所有正样本数的比例&#xff0c;而精确率是指模型正确识别出的正样本数占所有被模型识别为正样本的样本数的比例…

微服务保护——Sentinel

初识Sentinel 雪崩问题 微服务调用链路中的某个服务故障&#xff0c;引起整个链路中的所有微服务都不可用&#xff0c;这就是雪崩。 解决雪崩问题的常见方式有四种: 超时处理:设定超时时间&#xff0c;请求超过一定时间没有响应就返回错误信息&#xff0c;不会无休止等待舱壁…

谷歌浏览器network error解决方法

很多用户在使用谷歌浏览器时候会出现network error网页提示&#xff0c;很多用户不知道该如何处理这一问题&#xff0c;其实解决方法不止一种&#xff0c;小编整理了两种谷歌浏览器network error解决方法&#xff0c;一起来看看吧~ 谷歌浏览器network error解决方法&#xff1…

【精选】新年祝福(C语言),Easyx图形库应用+源代码分享

【精选】新年祝福&#xff08;C语言&#xff09;&#xff0c;Easyx图形库应用源代码分享 博主&#xff1a;命运之光 专栏&#xff1a;Easyx图形库应用 目录 【精选】新年祝福&#xff08;C语言&#xff09;&#xff0c;Easyx图形库应用源代码分享程序展示一、项目环境简单介绍一…

轨道列车救援VR模拟仿真系统

列车故障是地铁运营中常见的问题&#xff0c;如何迅速准确地救援列车故障是保障地铁运营安全的重要措施。为此&#xff0c;广州华锐互动提供轨道列车救援VR模拟仿真系统定制开发&#xff0c;可以在安全、高效的情况下进行列车故障救援演练&#xff0c;有效提高救援人员的应急能…

在 oracle 中执行 sql 语句时,报错:“ORA-00001: 违反唯一约束条件 SYS_C0024202”

在 oracle 中执行 sql 语句时&#xff0c;报错&#xff1a;“ORA-00001: 违反唯一约束条件 SYS_C0024202” 报错信息如下&#xff1a; 表为“WK_ADMIN_USER” 解决方法&#xff1a; 1、查看违反约束的序列对应的数据库表与字段 select a.constraint_name,a.constraint_type,b…

【HTML】

目录 1. 什么是 HTML &#xff1f;HTML 的作用 2. HTML 常见标签 2.1 注释标签 2.2 标题标签&#xff1a;h1 - h6 2.3 段落标签&#xff1a;p 2.4 换行标签&#xff1a;br ​编辑 2.5 格式化标签 2.6 图片标签&#xff1a;img 2.7 超链接标签&#xff1a;a 2.7.1 外…

新入职一个00后卷王,每天加班到12点,太让人崩溃了····

在程序员职场上&#xff0c;什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事&#xff0c;我们可以帮他。 是技术太强的人吗?也不是。技术很强的同事&#xff0c;可遇不可求&#xff0c;向他学习还来不及呢。 真正让人反感的&#xff0c;是技术平平&…

CSS3中Flex弹性盒子布局

文章目录 一、介绍二、基本概念三、容器属性1.flex-direction2.flex-wrap3.flex-flow4.justify-content5.align-items6.align-content 四、项目属性1.order2.align-self3.flex 一、介绍 Flex 是 Flexible Box 的缩写&#xff0c;意为“弹性布局”或者“弹性盒子”&#xff0c;…

基于AT89C51单片机的交通灯设计

点击链接获取Keil源码与Project Backups仿真图&#xff1a; https://download.csdn.net/download/qq_64505944/87779238?spm1001.2014.3001.5503 源码获取 主要内容&#xff1a; 在日常生活中&#xff0c;交通灯是一项必不可少的公共设施&#xff0c;可 以维护道路的畅通和交…

English Learning - L3 综合练习 2 VOA-Color 2023.05.10 周三

English Learning - L3 综合练习 2 VOA-Color 2023.05.10 周三 句 1 the color green is natual for trees and grass句 2 But it is an unnatural color for humans拓展 be adj. for 句 3句 4句 5句 6句 7句 8 The color black is used often in expressions句 9句 10句 11句…