思路:建立一个pair数组vec,每一个元素保存points的索引和坐标距远点的距离值,然后对vec进行排序,排序按照pair的值,最后从前到后输出k个点到返回值中即可;为什么不用map?因为不能直接对map中的元素进行排序,如果map的键放距离,值放索引,那么会存在多个索引对应一个距离值得情况,而map只会保留一个索引值,除非你用索引数组,这样就比较麻烦了;

//排序函数 按值排序
static bool cmp(pair<int, int> a, pair<int, int> b)
{return a.second < b.second;
}
vector<vector<int>> kClosest(vector<vector<int>> &points, int K)
{int len = points.size();vector<pair<int, int>> vec(len);for (int i = 0; i < len; i++){int x = points[i][0], y = points[i][1];vec[i] = pair<int, int>(i, x * x + y * y);}sort(vec.begin(), vec.end(), cmp);vector<vector<int>> res;for (auto s:vec){if (K--){res.push_back(points[s.first]);}else{break;}}return res;
}

Leetcode每日一题:973.k-closest-points-to-origin(最接近原点的K个点)相关推荐

  1. Leetcode PHP题解--D29 973. K Closest Points to Origin

    973. K Closest Points to Origin 题目链接 973. K Closest Points to Origin 题目分析 给一个坐标数组points,从中返回K个离0,0最近 ...

  2. LeetCode Daily challenge - K Closest Points to Origin

    文章目录 题目大意 思路 代码 总结 题目大意 找前K小元素,只不过元素是二维的坐标 思路 很容易想到排序后取前K个,虽然可以但是速度不够快.实际上类似于找第K大(小),可以用划分的方法找,每次随机划 ...

  3. Leetcode每日一题:面试题02.02.kth-node-from-end-of-list-lcci(返回倒数第k个节点)

    思路:典型得快慢指针问题,快指针与慢指针中间隔着k-2个节点,那么同时++快慢指针,当快指针指向链表结尾节点时,慢指针指向倒数第k个节点: struct ListNode {int val;ListN ...

  4. LeetCode 973. K Closest Points to Origin--TopK 问题--最小堆--C++,Python解法

    题目地址:K Closest Points to Origin - LeetCode We have a list of points on the plane. Find the K closest ...

  5. 【LeetCode每日一题】1723. 完成所有工作的最短时间

    [LeetCode每日一题]1723. 完成所有工作的最短时间 [1] 1723. 完成所有工作的最短时间 [2] 473. 火柴拼正方形 [1] 1723. 完成所有工作的最短时间 题目: 给你一个 ...

  6. leetcode每日一题--雀巢原理;抽屉算法;Quorum机制;分布式应用

    leetcode每日一题 539. 最小时间差 示例 1: 输入:timePoints = ["23:59","00:00"] 输出:1 示例 2: 输入:ti ...

  7. leetcode每日一题825. 适龄的朋友 快排+双指针

    本文目录 leetcode每日一题825. 适龄的朋友 快排+双指针 写在前面 题目 示例 提示 思路 代码实现 执行结果 写在后面 leetcode每日一题825. 适龄的朋友 快排+双指针 写在前 ...

  8. LeetCode每日一题之排列硬币

    前言: 大家好,今天是LeetCode每日一题的第十天,,给大家分享的是排列硬币,难度系数两颗星!废话不多说,先上题目! 1.1 题目要求 题目类型:排列硬币 题目内容: 总共有n枚硬币,将它们摆成一 ...

  9. Leetcode每日一题——思路小记

    文章目录 LeetCode每日一题 golang T15 2020.6.12 三数之和,双指针的运用 T70 2020.6.13 斐波那契数列 T1014 2020.6.17 最佳观光:双指针,计算公 ...

  10. leetcode每日刷题计划-简单篇day8

    leetcode每日刷题计划-简单篇day8 今天是纠结要不要新买手机的一天QAQ想了想还是算了吧,等自己赚钱买,加油 Num 70 爬楼梯 Climbing Stairs class Solutio ...

最新文章

  1. Hadoop自带WordCount.java程序
  2. Android 小项目之--Mini音乐播放器【简单版】(附源码)
  3. python 保存网页到印象笔记_如何将网页内容保存到印象笔记?
  4. 是雏还是鹰mdash;mdash;编程规范之代码注释
  5. 机器学习系统设计与建议
  6. SiteServer 迁移至 Windows 2008 R2 问题汇总
  7. 突击计划——两种温度格式的转换
  8. 1. 变量和基本类型
  9. solr7在tomcat上的部署
  10. ERROR 1130 (HY000): Host ‘192.168.3.238‘ is not allowed to connect to this MySQL server
  11. 【业界】火山翻译:工业级应用与研究
  12. OC语言——————表视图
  13. Todoist Chrome:待办事项列表及任务管理
  14. python制作3d相册代码_python中Matplotlib实现绘制3D图的示例代码
  15. 已解决:ORA-00932:数据类型不一致:应为-,但却获得CLOB
  16. html qq在线状态,qq各种在线状态意思
  17. 如何将多行单元格数据转变成一行?这个Excel技巧你一定不知道!
  18. 互联网校招研发薪资汇总
  19. 也谈男士品牌(综合版)
  20. 【bat批处理脚本命令】bat脚本命令的基本使用(保姆级图文+实现代码)

热门文章

  1. webpack 3 零基础入门教程 #6 - 使用 loader 处理 CSS 和 Sass
  2. php常用的的字符串转换
  3. javascript Event loop
  4. WordPress Tweet Blender插件跨站脚本漏洞
  5. 解决数据库导入导出的常见问题集解决办法
  6. PHPCMS V9.6.0 SQL注入漏洞EXP
  7. Android 开发 关于APP无法安装到Android模拟器上的问题
  8. Python拓展12(使配置文件生效ConfigParser模块)
  9. 【持久化框架】Mybatis与Hibernate的详细对比
  10. [C++][代码库]Vector3空间向量类