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

大数据分析网站网站建设设计主要系统

大数据分析网站,网站建设设计主要系统,vps建设网站,wordpress最新文章模板文章目录1. 题目2. 解题2.1 排序2.2 优先队列2.3 快排思路1. 题目 我们有一个由平面上的点组成的列表 points。需要从中找出 K 个距离原点 (0, 0) 最近的点。 #xff08;这里#xff0c;平面上两点之间的距离是欧几里德距离。#xff09; 你可以按任何顺序返回答案。除了… 文章目录1. 题目2. 解题2.1 排序2.2 优先队列2.3 快排思路1. 题目 我们有一个由平面上的点组成的列表 points。需要从中找出 K 个距离原点 (0, 0) 最近的点。 这里平面上两点之间的距离是欧几里德距离。 你可以按任何顺序返回答案。除了点坐标的顺序之外答案确保是唯一的。 示例 1 输入points [[1,3],[-2,2]], K 1 输出[[-2,2]] 解释 (1, 3) 和原点之间的距离为 sqrt(10) (-2, 2) 和原点之间的距离为 sqrt(8) 由于 sqrt(8) sqrt(10)(-2, 2) 离原点更近。 我们只需要距离原点最近的 K 1 个点所以答案就是 [[-2,2]]。示例 2 输入points [[3,3],[5,-1],[-2,4]], K 2 输出[[3,3],[-2,4]] 答案 [[-2,4],[3,3]] 也会被接受。提示 1 K points.length 10000 -10000 points[i][0] 10000 -10000 points[i][1] 10000来源力扣LeetCode 链接https://leetcode-cn.com/problems/k-closest-points-to-origin 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题 类似题目LeetCode 215. 数组中的第K个最大元素快速排序 2.1 排序 class Solution { public:vectorvectorint kClosest(vectorvectorint points, int K) {if(K points.size())return points;sort(points.begin(),points.end(),[](auto a, auto b){return a[0]*a[0]a[1]*a[1] b[0]*b[0]b[1]*b[1];});points.resize(K);return points;} };1772 ms 191.6 MB partial_sort 只对前部分[first,middle)进行排序前部分实现为堆 class Solution { public:vectorvectorint kClosest(vectorvectorint points, int K) {partial_sort(points.begin(), points.begin() K, points.end(), [] (auto a, auto b){return a[0]*a[0]a[1]*a[1] b[0]*b[0]b[1]*b[1]; });points.resize(K);return points;} };1552 ms 148.4 MB 时间复杂度 O(nlogn)O(nlogn)O(nlogn) 2.2 优先队列 维持一个容量为K的大顶堆队列满了后续点比堆顶更接近原点时pop堆顶push当前点 struct cmp{bool operator()(const vectorint a, const vectorint b)const{return a[0]*a[0]a[1]*a[1] b[0]*b[0]b[1]*b[1];//大顶堆} }; class Solution { public:vectorvectorint kClosest(vectorvectorint points, int K) {if(K points.size())return points;priority_queuevectorint, vectorvectorint, cmp q;for(int i 0; i points.size(); i){if(q.size() K)q.push(points[i]);else if(q.top()[0]*q.top()[0]q.top()[1]*q.top()[1] points[i][0]*points[i][0]points[i][1]*points[i][1]){q.pop();q.push(points[i]);}}vectorvectorint ans(q.size());int i 0;while(!q.empty()){ans[i] q.top();q.pop();}return ans;} };时间复杂度 O(nlogK)O(nlogK)O(nlogK) 628 ms 47.5 MB 2.3 快排思路 class Solution { public:vectorvectorint kClosest(vectorvectorint points, int K) {if(K points.size())return points;findkth(points,0,points.size()-1,K);points.resize(K);return points;}int dis(vectorvectorint points, int i){return points[i][0]*points[i][0]points[i][1]*points[i][1];}void findkth(vectorvectorint points,int l, int r, int K){int i l, j r, p dis(points, l);while(i j){while(i j dis(points,j) p)//必须先从右边开始因为选的pivot在左边j--;while(i j dis(points,i) p)i;swap(points[i], points[j]);}swap(points[l], points[i]);if(i K)//左边都是答案的一部分取右边找findkth(points,i1,r,K);else if(i K)//左边多于K个在左边继续分割findkth(points,l,i-1,K);elsereturn;} };时间复杂度 O(n)O(n)O(n) 244 ms 39 MB
http://www.pierceye.com/news/466367/

相关文章:

  • 成都58手机微信网站建设名录tiktok跨境电商好做吗
  • 电子科技 深圳 网站建设怎么做打码网站
  • 南宁小程序开发网站建设公司公司网站建设怎么选择
  • erp网站代做项目网络进度图
  • 网站建设胶州家园外贸网站怎么注册
  • 我想找阿里巴巴做网站推广建一个公司网站花多少钱
  • 最新购物网站建设框架wordpress 登录后台乱码
  • 音频网站开发做外贸网站需要营业执照
  • 企业网站搭建项目概述范文wordpress更改链接地址
  • 免费网站在线观看人数在哪直播建设工业网站首页
  • 权威的南昌网站设计wordpress游客评论游客
  • 乡镇府建设网站什么是外链
  • 营销型网站设计流程电子商务网站建设软件
  • 做个人网站的步骤wordpress 添加新页面
  • 公司建网站流程网站布局选择
  • 云南效果好的网站优化微信如何做有趣的短视频网站
  • wordpress个人网站后台登陆dedecms仿站
  • 网站没被收录什么原因上海哪家做网站
  • 电子商务网站建设含代码项目外包是什么意思
  • 此网站正在建设中页面重庆网上商城网站建设公司
  • 保定建设公司网站新产品上市的营销策划方案
  • 网站建设课程报告论文网络设计专业有前途吗
  • 苏州哪个公司做门户网站wordpress显示评论者地理位置 浏览器
  • 福州网站设计十年乐云seo推广网上国网有什么好处
  • 豪华网站建设wordpress推广提成
  • 网站优化外包价格搜索引擎费用
  • 网站建设基本范例sqlite开发网站
  • 网站建设顾问站建开发外包公司
  • 建立网站花钱吗wordpress表结构写入不全
  • 绿色家园网站怎么做导出wordpress文章