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

查找和最小的K对数字

https://leetcode.cn/problems/find-k-pairs-with-smallest-sums/solutions/1208350/cha-zhao-he-zui-xiao-de-kdui-shu-zi-by-l-z526/?envType=study-plan-v2&envId=top-interview-150

我这里解释一下题解的方法一,刚看的时候还是挺抽象的

class Solution {public List<List<Integer>> kSmallestPairs(int[] nums1, int[] nums2, int k) {// 优先队列(存放的是下标,通过下标对应的数字和升序)PriorityQueue<int[]> pq = new PriorityQueue<>(k, (o1, o2)->{return nums1[o1[0]] + nums2[o1[1]] - nums1[o2[0]] - nums2[o2[1]];});List<List<Integer>> ans = new ArrayList<>();int m = nums1.length;int n = nums2.length;// 初始化优先队列,将nums1的前min(m, k)个元素和nums2的第一个元素组成对放入优先队列for (int i = 0; i < Math.min(m, k); i++) {pq.offer(new int[]{i,0});}// 从优先队列中取出k个元素,组成k个最小的对放入结果列表中while (k-- > 0 && !pq.isEmpty()) {int[] idxPair = pq.poll();List<Integer> list = new ArrayList<>();list.add(nums1[idxPair[0]]);list.add(nums2[idxPair[1]]);ans.add(list);// 这里尝试将nums1[idxPair[0]]和没有组合过的nums2中的元素组成对放入优先队列if (idxPair[1] + 1 < n) {pq.offer(new int[]{idxPair[0], idxPair[1] + 1});}}return ans;}public static void main(String[] args) {Solution solution = new Solution();System.out.println(solution.kSmallestPairs(new int[]{1, 7, 11}, new int[]{2, 4, 6}, 3));}
}

http://www.lqws.cn/news/78571.html

相关文章:

  • 软件开发项目管理工具选型及禅道开源版安装
  • 使用 MCP 将代理连接到 Elasticsearch 并对索引进行查询
  • UE5 创建2D角色帧动画学习笔记
  • HealthBench医疗AI评估基准:技术路径与核心价值深度分析(下)
  • 湖北理元理律所:企业债务重组中的“法律缓冲带”设计
  • 设计模式——备忘录设计模式(行为型)
  • 可视化大屏通用模板Axure原型设计案例
  • 谷粒商城-分布式微服务项目-高级篇[三]
  • DeepSeek 赋能车路协同:智能交通的破局与重构
  • Figma 与 Cursor 深度集成的完整解决方案
  • Windows不关防火墙,安全开放端口方法
  • 鸿蒙进阶——Mindspore Lite AI框架源码解读之模型加载详解(二)
  • Java设计模式之观察者模式详解
  • SystemVerilog—new函数的使用和误区
  • 【环境搭建】Java、Python、Nodejs等开发环境搭建
  • Fisher准则例题——给定类内散度矩阵和类样本均值
  • 2506js,活扩控件
  • 企业如何零基础建设网站?
  • 通俗理解“高内聚,低耦合”
  • 解锁 AI 大语言模型的“知识宝藏”:知识库的奥秘与优化之道
  • 项目管理进阶:56页大型IT项目管理实践经验分享【附全文阅读】
  • 学习STC51单片机25(芯片为STC89C52RCRC)
  • ESP32之Linux编译环境搭建流程
  • C++中实现随机数(超详细!​​​​​)
  • web架构2------(nginx多站点配置,include配置文件,日志,basic认证,ssl认证)
  • Spring MVC
  • MATLAB 安装与使用详细教程
  • 网络地址转换
  • 【笔记】为 Python 项目安装图像处理与科学计算依赖(MINGW64 环境)
  • Android第十二次面试GetX库渲染机制