链接:剑指 Offer II 061. 和最小的 k 个数对

题解:

class Solution {
public:vector<vector<int>> kSmallestPairs(vector<int>& nums1, vector<int>& nums2, int k) {vector<vector<int>> result;auto cmp = [&] (const std::pair<int, int>& n1, const std::pair<int, int>& n2) {return nums1[n1.first] + nums2[n1.second] > nums1[n2.first] + nums2[n2.second];};priority_queue<std::pair<int, int>, std::vector<std::pair<int, int>>, decltype(cmp)> que(cmp);for (int i = 0; i < min(int(k), int(nums1.size())); ++i) {que.push({i, 0});}while (k-- && !que.empty()) {auto f = que.top();que.pop();result.push_back({nums1[f.first], nums2[f.second]});if (f.second+1 < nums2.size()) {que.push({f.first, f.second+1});}}return result;}
};

剑指 Offer II 061. 和最小的 k 个数对相关推荐

  1. 剑指offer面试题[30]-最小的k个数

    题目描述 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4. 分析思路:         这道题最简单的思路莫过于把输入的n个数排 ...

  2. 剑指offer: 面试题40. 最小的k个数

    题目:最小的k个数 入整数数组 arr ,找出其中最小的 k 个数.例如,输入4.5.1.6.2.7.3.8这8个数字,则最小的4个数字是1.2.3.4. 示例 1: 输入:arr = [3,2,1] ...

  3. 剑指Offer - 面试题40. 最小的k个数(排序/大顶堆)

    1. 题目 输入整数数组 arr ,找出其中最小的 k 个数.例如,输入4.5.1.6.2.7.3.8这8个数字,则最小的4个数字是1.2.3.4. 示例 1: 输入:arr = [3,2,1], k ...

  4. 【剑指Offer】29、最小的K个数

      题目描述:   输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4.   解题思路:   本题最直观的解法就是将输入的n个整数排 ...

  5. 剑指offer面试题40. 最小的k个数(sort函数)

    题目描述 输入整数数组 arr ,找出其中最小的 k 个数.例如,输入4.5.1.6.2.7.3.8这8个数字,则最小的4个数字是1.2.3.4. 思路 详见链接 代码 class Solution: ...

  6. 【剑指offer-Java版】30最小的K个数

    最小的K个数: 思路一:类似于第29题,直接进行Partion,直到返回值未K – 缺点是需要修改输入的数据 思路二:维护一个大顶堆,然后遍历一次给定数组 如果当前堆元素小于K个 那么直接将当前元素加 ...

  7. 剑指 Offer II 060. 出现频率最高的 k 个数字

    题目 给定一个整数数组 nums 和一个整数 k ,请返回其中出现频率前 k 高的元素.可以按 任意顺序 返回答案. 示例 输入: nums = [1,1,1,2,2,3], k = 2 输出: [1 ...

  8. 力扣OJ 剑指 Offer II

    目录 剑指 Offer II 001. 整数除法 剑指 Offer II 002. 二进制加法 剑指 Offer II 003. 前 n 个数字二进制中 1 的个数 剑指 Offer II 004. ...

  9. Leetcode刷题笔记——剑指offer II (六)【图】

    文章目录 图 695. 岛屿的最大面积 剑指 Offer II 106. 二分图 (每条边的两个结点都来自不同的集合) 剑指 Offer II 107. 矩阵中的距离 (最短路问题,建图,BFS) 剑 ...

最新文章

  1. JavaScript prototype
  2. 你真的了解 CDC 吗?
  3. 函数型F#语言很值得学习
  4. 详细整理Spring事务失效的具体场景及解决方案
  5. linux防止文件被复制,技术|如何在 Linux 系统中防止文件和目录被意外的删除或修改...
  6. vSphere 7 With K8s系列09:部署wordpress示例
  7. 排列组合算法之三: 递归法
  8. Docker 容器资源管理,你真的学会了吗?
  9. 百度云2019落地第一枪打响:两款智能边缘硬件,让城市环卫、农药喷洒都AI起来...
  10. 【上电即上华为云】华为云openCPU智联模组_wifi_HF-LPX70_RISC-V_CoAP
  11. mongodb 恢复_MongoDB时间点恢复
  12. django--安装
  13. c语言二级字符指针运用(字符串)
  14. java整型_java中长整型定义
  15. 桌面图标黑色解决方案
  16. mac电脑常用开发软件
  17. 推荐:物联网区块链项目---IoTeX
  18. java连接https,连接重置为https连接
  19. 裁员、结婚、买房、赡养父母.....即将30岁,焦虑扑面而来
  20. 机器学习-聚类(学习向量量化算法)

热门文章

  1. 传言成真 天融信收购傲天动联
  2. IntelliJ IDEA 2017.1 EAP与异步堆栈跟踪调试器扩展
  3. oracle启动限制模式
  4. Silverlight/Windows8/WPF/WP7/HTML5周学习导读(8月5日-8月12日)
  5. [译]Windows 服务用户帐户
  6. mysql5.5及以下安装全过程(5.7以上不适合)
  7. SSM整合配置文件总结
  8. oracle-只读数据文件的备份与恢复
  9. volume image
  10. 【转】oracle内置函数 trunc 使用