Golang | Leetcode Golang题解之第373题查找和最小的K对数字

news2024/9/21 16:34:30

题目:

题解:

func kSmallestPairs(nums1, nums2 []int, k int) (ans [][]int) {
    m, n := len(nums1), len(nums2)

    // 二分查找第 k 小的数对和
    left, right := nums1[0]+nums2[0], nums1[m-1]+nums2[n-1]+1
    pairSum := left + sort.Search(right-left, func(sum int) bool {
        sum += left
        cnt := 0
        i, j := 0, n-1
        for i < m && j >= 0 {
            if nums1[i]+nums2[j] > sum {
                j--
            } else {
                cnt += j + 1
                i++
            }
        }
        return cnt >= k
    })

    // 找数对和小于 pairSum 的数对
    i := n - 1
    for _, num1 := range nums1 {
        for i >= 0 && num1+nums2[i] >= pairSum {
            i--
        }
        for _, num2 := range nums2[:i+1] {
            ans = append(ans, []int{num1, num2})
            if len(ans) == k {
                return
            }
        }
    }

    // 找数对和等于 pairSum 的数对
    i = n - 1
    for _, num1 := range nums1 {
        for i >= 0 && num1+nums2[i] > pairSum {
            i--
        }
        for j := i; j >= 0 && num1+nums2[j] == pairSum; j-- {
            ans = append(ans, []int{num1, nums2[j]})
            if len(ans) == k {
                return
            }
        }
    }
    return
}

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

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

相关文章

Notion 使用详解——基础教程

《Notion 使用详解——基础教程》 一、Notion简介 Notion是一款集笔记、任务、数据库、wiki、知识库等功能于一体的生产力工具&#xff0c;其强大的模块化设计和高度自定义能力&#xff0c;使其成为个人和团队提高工作效率的理想选择。 二、基础操作 1. 创建页面&#xff1a;…

几个很棒的AI问题和精彩回答

这里有几个很棒的与AI相关的问题和精彩的回答&#xff0c;分享给大家 2024&#xff0c;怎么以10倍的速度设计AI产品&#xff1f; 回答嘉宾&#xff1a;Tidyread作者 根据产品定位&#xff0c;对整体风格进行定调 Tidyread 希望人们能从中建立资讯阅读的秩序感&#xff0c;所以…

阿里云对象存储OSS的前端直传-demo

原由 在项目里有时候会碰到比如上传文件相关的&#xff0c;一般都是后端提供个接口&#xff0c;然后我们上传的时候后端再传到阿里OSS或者其他服务商的对象存储&#xff0c;然后把最终的url拿到存起来或者返回给前端&#xff0c;这种方式其实在上传图片的频率不高的业务场景中…

电商数据接口助力电商数据分析||电商运营每日必看5个底层数据

数据分析充电站——深入探索中小企业数字化转型&#xff0c;专注提供各行业数据分析干货、分析技巧、工具推荐以及各类超实用分析模板&#xff0c;为钻研于数据分析的朋友们加油充电。 电商运营店铺涉及大量数据&#xff0c;包括用户行为、交易记录、库存信息等&#xff0c;如何…

Python测试之测试覆盖率统计

本篇承接上一篇 Python测试框架之—— pytest介绍与示例&#xff0c;在此基础上介绍如何基于pytest进行测试的覆盖率统计。 要在使用 pytest 进行测试时检测代码覆盖率&#xff0c;可以使用 pytest-cov 插件。这个插件是基于 coverage.py&#xff0c;它能帮助你了解哪些代码部…

【PySide6-QML】2. 添加菜单栏

文章目录 前言实现添加菜单栏添加菜单添加子菜单点击动作添加快捷键 前章回顾&#xff1a;【PySide6-QML】1. 创建新项目 前言 本文使用 MenuBar 添加工具菜单栏&#xff0c;Action 添加子菜单&#xff0c;并添加快捷键和动作回调。 实现 添加菜单栏 import QtQuick.Contr…

centos mongodb安装+开机启动

1.mongodb安装 Centos系统中mongodb的安装详解_centos安装mongodb-CSDN博客 步骤1-下载 下载地址&#xff1a;Download MongoDB Community Server | MongoDB 步骤2-安装-修改配置 Centos系统中mongodb的安装详解_centos安装mongodb-CSDN博客 下载包到 /usr/local/ 解压 tar…

新一代RK3576芯片,3588平替吗?

瑞芯微RK3576是一款高性能、低功耗的SoC&#xff08;系统级芯片&#xff09;处理器&#xff0c;适用于基于ARM的PC、边缘计算设备、个人移动互联网设备等多种应用场景。它采用Arm架构的八核心CPU&#xff0c;集成了GPU、MCU、NPU、VPU等多种计算核心&#xff0c;并具有丰富的外…

基于深度学习的交通标志检测识别系统(含UI界面、yolov5、Python代码、数据集)

项目介绍 项目中所用到的算法模型和数据集等信息如下&#xff1a; 算法模型&#xff1a;     yolov5、yolov5 SE注意力机制&#xff0c;两个模型都已训练好&#xff0c;可直接使用。 数据集&#xff1a;     网上下载的数据集&#xff0c;格式都已转好&#xff0c;可…

K8S对接Ceph分部署存储

文章目录 一、Ceph理论知识1、Ceph简介2、Ceph分布式存储的优点3、Ceph核心组件 二、部署Ceph高可用集群1、服务器环境信息2、部署前环境准备工作3、部署Ceph监控服务Monitor4、激活Ceph存储服务OSD 三、K8S对接Ceph存储1、K8S对接Ceph RBD实现数据持久化2、基于Ceph RBD生成PV…

【精选】基于数据可视化的智慧社区内网平台(程序员阿龙出品精品)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

游戏出海,燃动全球,“安全”如何通关?

泼天的富贵落在了游戏圈&#xff0c;用事实打脸了男人消费不如狗的谬论。 这几天&#xff0c;无论是游戏圈内人还是圈外人&#xff0c;无人不知晓《黑神话&#xff1a;悟空》。这部头顶「3A国产游戏之光」的作品自6月8日预售以来&#xff0c;全平台销量超过800万份&#xff0c;…

基于R语言的统计分析基础:数据结构

R语言是一种用于统计分析和图形表示的编程语言和软件环境&#xff0c;它提供了多种数据结构以存储和操作数据。这些数据结构包括向量、矩阵、数组、数据框、列表、因子、Tibble、环境、公式、调用以及表达式。 向量&#xff08;Vector&#xff09; 向量是R中最基本的数据结构…

InstantID: Zero-shot Identity-Preserving Generation in Seconds

https://arxiv.org/pdf/2401.07519#page9.73https://github.com/instantX-research/InstantID?tabreadme-ov-filehttps://github.com/instantX-research/InstantID/pull/89/files 问题引入 目标是生成和reference图片相符合的图片&#xff0c;特别是人脸&#xff1b;现在基于…

C++必修:unordered_set/unordered_map

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;C学习 贝蒂的主页&#xff1a;Betty’s blog 1. unordered_set的介绍 unordered_set是一种关联式容器&#xff0c;它具有以下几…

使用MVC设计模式根据软件系统设计建设高校数字化教育教学资源共享平台

目录 案例 【题目】 【问题 1】(9 分) 【问题 2】(6 分) 【问题 3】(10 分) 答案 【问题 1】答案 【问题 2】答案 【问题 3】解析 相关推荐 案例 阅读以下关于软件系统设计的叙述&#xff0c;在答题纸上回答问题 1 至问题 3。 【题目】 某软件企业受该省教育部门委托…

【SpringCloud Alibaba】(九)学习 Gateway 服务网关

目录 1、网关概述1.1、没有网关的弊端1.2、引入 API 网关 2、主流的 API 网关2.1、NginxLua2.2、Kong 网关2.3、Zuul 网关2.4、Apache Shenyu 网关2.5、SpringCloud Gateway 网关 3、SpringCloud Gateway 网关3.1、Gateway 概述3.2、Gateway 核心架构 4、项目整合 SpringCloud …

【妙招大放送】:苹果手机数据恢复的4个技巧来啦!

手机是我们日常生活中不可或缺的一部分&#xff0c;它存储着照片、视频、联系人等许多重要的数据。但是&#xff0c;意外时有发生&#xff0c;我们有时会因为软件崩溃或者是手机损坏等的原因导致这些重要的数据丢失。那么&#xff0c;对于苹果用户来说&#xff0c;苹果手机数据…

电源技术中的深力科强力推荐一款低功耗、高效率同步降压变换器SiLM6609 致力于为您提供高品质电源技术解决方案

在能源紧张且智能化技术高速发展的当下&#xff0c;电源是电子设备不可或缺的核心。电源的质量和效率直接关系到设备的稳定运行和能耗控制&#xff0c;对于提高设备性能和降低运营成本至关重要。 为应对现代电子设备对性能与能耗的严苛要求&#xff0c;SiLM6609——低功耗、高…

.NET 一款通过白名单程序执行命令的工具

01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等&#xff08;包括但不限于&#xff09;进行检测或维护参考&#xff0c;未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&#xf…