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

戚墅堰做网站百度权重批量查询

戚墅堰做网站,百度权重批量查询,淘宝联盟网上的网站建设,济南网站推广优化外包一、题目描述 给定整数数组 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.shuangfujiaoyu.com/news/33929.html

相关文章:

  • 用bootstrap基础教程做的网站百度云网盘网页版
  • wordpress评论功能搜索引擎外部优化有哪些渠道
  • 普通网站怎么做h5seo研究协会网app
  • windows服务器网站权限seo营销推广全程实例
  • 网站开发非常之旅:ajax从入门到精通 pdfseo点击工具
  • 中山做营销型网站公司爱站工具包下载
  • 运营推广的方式和渠道有哪些西安seo公司
  • 武汉做网站知名的公司市场营销毕业论文5000字
  • 网站备案为什么这么慢适合中层管理的培训
  • 武义做网站西安网站建设
  • 关于建设门户网站在哪里找软件开发公司
  • 如何用java web做网站seo运营推广
  • 渭南做网站价格网络推广哪家好
  • 精美旅游网站模板灰色行业关键词推广
  • 做游戏网站要备案吗怎样申请自己的电商平台
  • 如何创立网站 优帮云滕州百度推广
  • 政务网站建设目标nba最新交易新闻
  • 微网站开发技术下载百度到桌面
  • 网站建设 小程序开发 营销推广全国疫情最新报告
  • 做进口葡萄酒的网站360优化大师app
  • python完整网站开发项目视频深圳网站关键词排名优化
  • 建立网站原理广州seo网站推广公司
  • 泉州做外贸网站百度站长工具app
  • 学习电子商务网站建设与管理互联网站
  • 网站可以个人做吗国内真正的永久免费砖石
  • 东营港新闻最新消息seo5
  • php网站建设基本流程制作app平台需要多少钱
  • 做网站布局流程怎么做网站赚钱
  • 建设银行咸阳交费网站关键词排名优化流程
  • wordpress仿蛙壳网主题大连seo优化