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

银川网站建设报价网站开发人员构成

银川网站建设报价,网站开发人员构成,优秀网站建设模板,做网站具体收费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.dnsts.com.cn/news/22150.html

相关文章:

  • 网站推广含义wordpress菜单icon
  • 上海企业建站工具平顶山有做网站的公司
  • 建设游戏网站需要什么设备网站架构规划
  • 长春建设厅官方网站吉林企业做网站
  • 做市场调查的网站网上商店系统
  • 外贸企业网站制作大连网站设计报价
  • 前端用什么框架做网站公司网站的搭建方案
  • asp网站变慢网站开发需要用到的技术
  • 网站m3u8链接视频怎么做的网站建设找邓金平
  • 自定义功能的网站建设银行官网站下载地址
  • 培训学校网站建设网站建设服务标语
  • 怎么把危险网站航拍类wordpress模板
  • 做塑料的外贸网站有哪些怎样做软件网站建设
  • 焦作专业做网站公司哪家好网站的分辨率是多少像素
  • 怎样php网站建设企业网站制作报价表
  • 郑州建网站价格免费建站平台哪个稳定
  • 专业网页设计和网站制作公司网站推广句子
  • 晋城市网站建设管理人员网站建设 设计那种连接线厂家
  • 有模板如何做网站涿州网站建设涿州
  • linux 网站301为网站制定推广计划
  • 网站服务器怎么重启wordpress H2标签
  • 做网站建设一年能赚多少计科专业毕设做网站
  • 网站建设缺乏个性返利商城网站怎么做
  • wordpress网站首页html写一个简单购物页面
  • 昆明做网站优化的公司长辛店镇网站建设
  • 网站建站时间查询wordpress录入信息
  • 如何使用模板建设网站郑州网站定制
  • 网站开发与管理专业的就业信息wordpress编辑器分页
  • 宁波网站建设官网站放音乐代码
  • 外贸出口工艺品怎么做外贸网站网站悬浮框代码