首页 > 编程语言 >每日算法--2023.2.25

每日算法--2023.2.25

时间:2023-02-25 11:57:02浏览次数:35  
标签:25 cur temp -- res sum 2023.2 int public

1.力扣373--和最小的k个数对

class Solution {
    class Node{
        public int sum;
        public int i;
        public int j;
        Node(int sum, int i, int j){
            this.i = i;this.j = j;
            this.sum = sum;
        }
    }
    //解题思路:一共有m*n个数对,可以排列成m端有序的数对,相当于多路归并排序找topK
    public List<List<Integer>> kSmallestPairs(int[] nums1, int[] nums2, int k) {
        int m = nums1.length, n = nums2.length;
        List<List<Integer>> res = new LinkedList<>();
         PriorityQueue<Node> minHeap = new PriorityQueue<>((o1,o2)->(o1.sum-o2.sum));
         for(int i = 0;i<m;i++){
             minHeap.offer(new Node(nums1[i]+nums2[0],i ,0));
         }
         while(!minHeap.isEmpty()){
             Node cur = minHeap.poll();
             List<Integer> temp = new LinkedList<>();
             temp.add(nums1[cur.i]);temp.add(nums2[cur.j]);
             res.add(temp);
             if(res.size() == k){
                 return res;
             }
             if(cur.j<n-1){
                 minHeap.offer(new Node(nums1[cur.i]+nums2[cur.j+1],cur.i,cur.j+1));
             }
         }
         return res;
    }
}

  

标签:25,cur,temp,--,res,sum,2023.2,int,public
From: https://www.cnblogs.com/lyjps/p/17154078.html

相关文章

  • 复旦高等代数II(22级)每周一题
    本学期的高等代数每周一题活动计划从第1教学周开始,到第15教学周结束,每周的周末公布1道思考题(共15道,思考题一般与下周授课内容密切相关),供大家思考和解答。每周一题将通过“......
  • ifc4x3 IfcActorRole
    ifc4x3 IfcActorRole定义:该实体表示由行为者(个人、组织或与组织相关的人员)执行的角色。 注:Role属性枚举值的角色列表永远不可能完整。因此,使用枚举值USERDEFINED,用......
  • 拯救者R7000 Legion 3.5mm耳机插入后有电流声,解决方法
    Intel网卡:电源策略:从最高到中高AMD游戏本——MediaTech网卡:调Realtek声卡,多流模式改经典模式......
  • Nginx安装与核心配置
    Nginx安装与核心配置一、Nginx的编译与安装1、Nginx安装环境准备(1)Linux内核2.6及以上版本只有2.6之后才支持epool,在此之前使用select或pool多路复用的IO模型,无法解决......
  • sshpass安装
    方法一:运行yum-yinstallsshpass方法二:离线安装:下载安装包sshpass-1.06-2.el7.x86_64.rpm执行命令:rpm-ivhsshpass-1.06-2.el7.x86_64.rpm 安装后可以使......
  • java——spring boot集成RabbitMQ——topics模式——实现消费者
           ......
  • 上班第一天 Android 环境配置
    其实是昨天把大概回归Android开发第一天学会查然后等待反正我是不希望以后再查了写出来吧去谷歌那边把androidstudio下载下来更新jdk版本(与传统的java开发不同......
  • 如何理解面向接口编程与面向实现编程
    以HeadFirst中的一张图为例,说明这个问题:假设我们有一个应用程序加simuduck,用户可以执行simuduck-pxxx,其中xxx是鸭子的类型,然后程序会根据用户的输入生成不同的鸭......
  • Jmeter参数化
    用Jmeter测试时包含两种情况的参数:一种是在url中,一种是请求中需要发送的参数。URL中的参数:如:http://blog.da-fang.com/index.php/2010/06/01/jmeter参数/,其中“2010/06/......
  • 信息安全之linux服务器基线安全(等保要求参考)
    linux服务器基线安全(等保配置)备注:公司要求做服务器的基线安全配置,通过相关软件扫描出来结果,以下配置作为参考CU_OS_Linux_B_5.3.10_1限制root用户远程登录-telnet自动......