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

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

题目:

题解:

class Solution:def kSmallestPairs(self, nums1: List[int], nums2: List[int], k: int) -> List[List[int]]:m, n = len(nums1), len(nums2)# 二分查找第 k 小的数对和left, right = nums1[0] + nums2[0], nums1[m - 1] + nums2[n - 1] + 1while left < right:mid = (left + right) // 2cnt = 0i, j = 0, n - 1while i < m and j >= 0:if nums1[i] + nums2[j] > mid:j -= 1else:cnt += j + 1i += 1if cnt < k:left = mid + 1else:right = midpairSum = leftans = []# 找数对和小于 pairSum 的数对i = n - 1for num1 in nums1:while i >= 0 and num1 + nums2[i] >= pairSum:i -= 1for j in range(i + 1):ans.append([num1, nums2[j]])if len(ans) == k:return ans# 找数对和等于 pairSum 的数对i = n - 1for num1 in nums1:while i >= 0 and num1 + nums2[i] > pairSum:i -= 1j = iwhile j >= 0 and num1 + nums2[j] == pairSum:ans.append([num1, nums2[j]])if len(ans) == k:return ansj -= 1return ans

http://www.mrgr.cn/news/12269.html

相关文章:

  • 【iOS】Masonry学习
  • 前端实习手记(9):修修修修bug
  • 二叉树的三个简单题
  • 速盾:cdn可以解决带宽问题么
  • GalaChain 全面剖析:为 Web3 游戏和娱乐而生的创新区块链
  • QT中通过Tcp协议的多线程的文件传输(服务器)
  • 3 Docker 镜像推送
  • 鸿蒙验证码,鸿蒙认证服务验证码,鸿蒙云存储上传图片
  • 华裔二、三代长相变迁的多维度解析
  • 利用深度学习技术来实现街景图像的语义分割(街景图像语义分割)
  • 如何使用 Nginx 解决跨域问题 (CORS)
  • uni-app - - - - - 自定义tabbar
  • 使用 OpenCV 组合和缩放多张图像
  • DDPM/DDIM去噪扩散概率模型和GANs
  • 查看redis节点的连接数
  • 多态(c++)
  • pytorch深度学习基础 8(CIFRA-10基础篇1)
  • 常用的 Redis 配置命令
  • 述FunsorFunsor是一个类似张量的函数和分布库。概率规划的泛函张量获取系统描述 ppl,pyro的衍生项目,人工智能python编程 ,深度神经网络
  • MyBatis之注解使用