当前位置: 首页 > news >正文

华为5.7机考第一题充电桩问题Java代码实现

题目描述:

输入描述:

输出描述:

示例:

输入:

3 5
0 0
1 4
5 6
2 3
7 8
3 -1

输出:

5 3 -1 4
1 1 4 5
3 2 3 5

题解:Java中可以使用最大堆(通过最小堆模拟)来找到距离最近的k个点:

代码:

import java.util.*;
import java.io.*;public class Main {public static void main(String[] args) throws IOException {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));String[] data = br.readLine().split(" ");int k = Integer.parseInt(data[0]);int n = Integer.parseInt(data[1]);int carX = Integer.parseInt(data[2]);int carY = Integer.parseInt(data[3]);// 边界条件if (k == 0 || k > n) {System.out.println("null");return;}// 使用优先队列模拟最大堆,存储(-distance, -id, x, y)PriorityQueue<int[]> heap = new PriorityQueue<>((a, b) -> {if (a[0] != b[0]) return a[0] - b[0];  // 按-distance升序(相当于distance降序)else return a[1] - b[1];               // 然后按-id升序});int idx = 4;for (int i = 1; i <= n; i++) {int x = Integer.parseInt(data[idx++]);int y = Integer.parseInt(data[idx++]);int d = Math.abs(carX - x) + Math.abs(carY - y);// 将元素加入堆(使用负值模拟最大堆)heap.offer(new int[]{-d, -i, x, y});// 保持堆的大小不超过kif (heap.size() > k) {heap.poll();}}// 提取结果并排序List<int[]> result = new ArrayList<>();while (!heap.isEmpty()) {int[] item = heap.poll();result.add(new int[]{-item[0], -item[1], item[2], item[3]});}// 按距离升序、编号升序排序result.sort((a, b) -> {if (a[0] != b[0]) return a[0] - b[0];else return a[1] - b[1];});// 输出结果for (int[] item : result) {System.out.println(item[1] + " " + item[2] + " " + item[3] + " " + item[0]);}}
}

相关文章:

  • 嵌入式系统架构验证工具:AADL Inspector v1.10 全新升级
  • 优雅草星云智控系统产品发布会前瞻:SNMP协议全设备开启指南-优雅草卓伊凡
  • 代码随想论图论part06冗余连接
  • 【MySQL】存储引擎 - ARCHIVE、BLACKHOLE、MERGE详解
  • 多模型协同预测在风机故障预测的应用(demo)
  • Java设计模式之抽象工厂模式:从入门到精通
  • 服务器配置错误导致SSL/TLS出现安全漏洞,如何进行排查?
  • 在自然语言处理任务中,像 BERT 这样的模型会在输入前自动加上一些特殊token
  • 从概念表达到安全验证:智能驾驶功能迎来系统性规范
  • 金仓数据库永久增量备份技术原理与操作
  • 如何清除windows 远程桌面连接的IP记录
  • 2025年5月通信科技领域周报(4.28-5.4):5G-A技术引领峰会通信 卫星通信加速全球化布局
  • Java socket获取gps定位
  • 【 Triton 教程】triton.heuristics
  • 2025 年数维杯数学建模B题完整论文代码模型
  • Vue 系列之:defineProps、defineEmits、...
  • Linux ifconfig命令详解
  • JavaSE核心知识点02面向对象编程02-03(抽象类与接口)
  • 数据中台建设系列(五):SQL2API驱动的数据共享与服务化实践
  • RAG优化知识库检索(1):基础概念与架构
  • 南阳网站开发公司/seo百度seo排名优化软件
  • 网站后台更新 前台看不到/百度指数专业版价格
  • 厦门网站推广公司/google seo 优化
  • 做化妆品代理在那些网站比较多/百度公司图片
  • 网站上传空间/巧克力软文范例200字
  • 胶州做网站/长沙优化排名推广