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

gis网站开发教程邢台专业网站建设费用

gis网站开发教程,邢台专业网站建设费用,网络舆情监测工作方案,wordpress添加描述关键词215数组中的第K个最大元素 题目描述 给定整数数组 nums 和整数 k#xff0c;请返回数组中第 k 个最大的元素。 请注意#xff0c;你需要找的是数组排序后的第 k 个最大的元素#xff0c;而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。…215数组中的第K个最大元素 题目描述 给定整数数组 nums 和整数 k请返回数组中第 k 个最大的元素。 请注意你需要找的是数组排序后的第 k 个最大的元素而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入: [3,2,1,5,6,4], k 2 输出: 5示例 2: 输入: [3,2,3,1,2,4,5,5,6], k 4 输出: 4提示 1 k nums.length 105-104 nums[i] 104 方法一小顶堆 class Solution {public int findKthLargest(int[] nums, int k) {PriorityQueueInteger pq new PriorityQueue(); // min heapfor (int val : nums) {pq.add(val);if (pq.size() k) {pq.poll();}}return pq.peek();} }在这个代码中我们首先创建一个优先队列pq。然后我们遍历数组nums对于每个元素我们将其添加到队列中。如果队列的大小大于k我们就删除队列中的最小元素。最后我们返回队列的头部元素这就是第k个最大的元素。 这个算法的时间复杂度是O(n log k)因为我们需要对每个元素进行堆操作堆操作的时间复杂度是O(log k)。虽然题目要求时间复杂度为O(n)但是这个算法在实际中的性能已经非常好了因为log k通常远小于n。 方法二快速选择 class Solution {public void swap(int[] nums,int a,int b){int tem nums[a];nums[a] nums[b];nums[b] tem;}public int getIndex(int[] nums,int left,int right){int m (rightleft) / 2 ;int n nums[right];int p left;for(int i left;iright;i){if(nums[i] n){swap(nums,p,i);p;}}swap(nums,p,right);return p;}public int quickSelect(int[] nums,int left,int right,int k){if(right left){return nums[left];}int index getIndex(nums,left,right);if(index k){return nums[index];}else if(index k){return quickSelect(nums,index1,right,k);}else{return quickSelect(nums,left,index-1,k);}}public int findKthLargest(int[] nums, int k) {return quickSelect(nums,0,nums.length-1,nums.length - k);} }快速选择是快速排序的一个优化它在平均情况下的时间复杂度是O(n)。 在这个代码中我们首先使用快速选择算法来找到第k个最大的元素。快速选择算法的基本思想是我们选择一个枢轴元素然后将数组分为两部分一部分是小于枢轴的元素另一部分是大于枢轴的元素。然后我们根据k和枢轴的位置决定是在左边的部分还是右边的部分继续查找。如果k等于枢轴的位置那么枢轴就是我们要找的元素。
http://www.hkea.cn/news/14463948/

相关文章:

  • 温州哪里有做网站的公司4000-262-医疗器械展会2021列表
  • 海珠企业网站建设百度服务商平台
  • 新网域名网站寮步做网站
  • h5响应式网站源码下载对比插件 wordpress
  • 网站原型图设计软件广东手机网站建设报价表
  • 做交易网站需要用到的软件有哪些安装wordpress插件目录
  • 厦门网站建设厦门电子书网站用dz还是wordpress
  • php网站在线打包源码域名价格排行
  • 小公司如何做网站wordpress上传rar
  • 高端网站建设百度手机怎么做3d短视频网站
  • 企业vi设计需求seo是哪里
  • 怎么做网站海外运营推广培训型网站建设方案
  • 哈尔滨免费做网站网站建设中需求分析报告
  • 网站开发与rest前端开发包括哪些内容
  • 北京企业网站推广wordpress后台不显示
  • 广州建设h5网站网站建设推广策划
  • 网站改版原则photoshop制作网站海报
  • 来个网站产品设计培训中心
  • 网站设计运行费用小程序头条小游戏
  • 南昌网站seo技术厂家盱眙在仕德伟做网站的有几家
  • php主做哪种类型网站十堰seo源头厂家
  • 西安网站建设l西安搜推宝网络公众号怎么创建
  • 百度不收入我的网站了淘宝做店招的网站
  • 网站建设有哪几种形式利为汇wordpress教程
  • 个人做网站郊游的英网页设计作品田田田田田田田田田田田田田田
  • 南京外贸网站建站精神文明地方联盟网站建设
  • 网站建设需求确定wordpress cms社交
  • 济宁做网站哪家好wordpress显示空白页
  • 网站长期建设运营计划书广州官方发布
  • 凡客公司百度工具seo