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

戚墅堰做网站杭州网站推广平台

戚墅堰做网站,杭州网站推广平台,wordpress 时尚 主题,做网站怎么做多少钱一、题目描述 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入: [3,2,1,5,…

一、题目描述

给定整数数组 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

题目链接:. - 力扣(LeetCode)

 二、解题思路

1、随机选择基准元素

2、根据基准元素将数组分为三部分:[l, left](该部分小于基准元素key)、[left + 1, right - 1](等于基准元素key)、[right, r](大于基准元素key)。

3、计算每部分所包含的元素个数,分别为a 、b = right - left - 1、 c = r - right + 1;

4、分情况讨论:

三、代码

class Solution {public int findKthLargest(int[] nums, int k) {return qsort(nums, 0, nums.length-1, k);}private int qsort(int[] nums, int l, int r, int k) {if(l == r) {return nums[l];}//随机选择基准元素int key = nums[new Random().nextInt(r-l+1) + l];//根据基准元素将数组划分为三组int left = l-1, right = r+1, i = l;while(i < right) {if(nums[i] < key) {swap(nums, ++left, i++);} else if(nums[i] == key) {i++;} else {swap(nums, --right, i);}}//分情况讨论int b = right - left - 1, c = r - right + 1;if(c >= k) {return qsort(nums, right, r, k);} else if(b + c >= k) {return key;} else {return qsort(nums, l, left, k - b - c);}}private void swap(int[] nums, int i, int j) {int tmp = nums[i];nums[i] = nums[j];nums[j] = tmp;}
}

 

http://www.mnyf.cn/news/34166.html

相关文章:

  • 网站建设与管理专业自我评价上海公布最新情况
  • 免费网站源码大全最新一周新闻
  • 网站设计要求 优帮云西安疫情最新数据
  • 凤岗网站建设网络推广专员是干什么的
  • 亿源科技网站建设太原百度seo排名软件
  • 网站qq客服显示不在线四川旅游seo整站优化
  • 深圳西乡有什么好玩的seo超级外链工具
  • 南昌做网站的公司哪家好百度网盘app免费下载安装老版本
  • 视频网站顶部效果怎么做的百度pc端网页版
  • 广告公司网站(附falsh及源代码)网站策划报告
  • 辽宁大学网站怎么做aso优化榜单
  • 工商注册网站模板seo产品推广
  • 如何自己做门户网站百度大搜推广和百度竞价
  • wordpress 迅影网深圳博惠seo
  • 上海网站制作公司哪网络营销策划模板
  • 手机网站有什么区别武汉做seo
  • 做货代在哪个网站找客源会计培训班多少钱
  • 网站做收付款接口google关键词工具
  • 传奇手游网站系统优化软件排行榜
  • iis做的网站其他电脑能看吗网络营销是网上销售吗
  • 创建网站的目的是什么原因网络推广的概念
  • 如何用网页设计制作个人网站网络推广方案
  • 什么是平台内部营销在运营中seo是什么意思
  • 安徽工程建设信息网站6培训机构加盟店排行榜
  • 如何制作网站中国站长素材网
  • 游戏网站建设的必要性湘潭网站建设
  • 万年网站建设疫情最新资讯
  • 建筑公司网站案例关键词推广效果分析
  • 企业网站群建设的原因互联网推广渠道有哪些
  • 做外贸需要网站百度刷排名优化软件