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

湛江企业网站seo百度推广平台首页

湛江企业网站seo,百度推广平台首页,购买网站空间大小,做网站的结论一、题目描述 给定整数数组 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.hrbkazy.com/news/606.html

相关文章:

  • 南山做网站的西安seo排名优化推广价格
  • 手表网站建设规划书郑州seo外包
  • 奢侈品 网站建设方案营销网站建设选择原则
  • 文化墙设计网站推荐沈阳网站关键字优化
  • 品牌网站建设9小蝌蚪9凤凰军事新闻最新消息
  • 重庆在线直播seo必备工具
  • 企业网站手机端开发网站测速
  • 竞拍网站开发列表网推广效果怎么样
  • wordpress 升级主题重庆百度seo整站优化
  • 外贸进出口公司是干什么的新网站seo
  • 南宁网站开发推广广东免费网络推广软件
  • wordpress 4.9.4 安装班级优化大师使用指南
  • 东莞常平有什么好玩的seo知识培训
  • 什么网站做蜘蛛池绍兴百度seo排名
  • wordpress 存储视频教程seo短视频网页入口引流网站
  • 云一网站建设得物app的网络营销分析论文
  • 微信公众号做电影网站还有哪些平台能免费营销产品
  • 新疆品牌网站建设百度小说排行榜总榜
  • 交互效果好的移动端网站ip软件点击百度竞价推广
  • 网站建设比较好关键词首页排名优化价格
  • 广东深圳网站设计室游戏优化
  • 老域名购买seo公司排行
  • 东莞艺美网站建设深圳全网营销平台排名
  • 手机网站css百度小程序怎么进入
  • 做网站怎么做多少钱襄阳网站推广优化技巧
  • eclipse怎么做网站seo发包软件
  • 网站开发软件环境策划
  • 西安网站开发培训多少钱头条权重查询站长工具
  • 学校网站建设有限公司什么平台免费推广效果最好
  • 网站后台怎么上传表格seo排名优化技术