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

一建建设网站首页河南推广网站的公司

一建建设网站首页,河南推广网站的公司,浙江建设厅网站查询,网站建设代理费用题目 给定整数数组 nums 和整数 k#xff0c;请返回数组中第 k 个最大的元素。 请注意#xff0c;你需要找的是数组排序后的第 k 个最大的元素#xff0c;而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入: [3,2,1,5,6,4…题目 给定整数数组 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 10^5-10^4  nums[i] 10^4 解答 源代码 class Solution {Random rand new Random();public int findKthLargest(int[] nums, int k) {return quickSelect(nums, k, 0, nums.length - 1);}public int quickSelect(int[] nums, int k, int left, int right) {int index rand.nextInt(right - left 1) left;// 目标值int target nums[index];// 因为在之后交换元素中nums[left]的值会被覆盖所以这里把nums[index]记为nums[left]的值nums[index] nums[left];int i left, j right;while (i j) {while (i j nums[j] target) {j--;}nums[i] nums[j];while (i j nums[i] target) {i;}nums[j] nums[i];}// 此时nums[i]前的元素都比目标值大nums[i]之后的元素都比目标值小nums[i] target;if (i k - 1) {return nums[i];} else if (i k - 1) {return quickSelect(nums, k, i 1, right);} else {return quickSelect(nums, k, left, i - 1);}} } 总结 这道题写得我好痛苦……因为后面的测试案例有极端情况所以一定要用到随机又因为用到了随机所以和排序算法不是完全一样不能直接进行交换否则最后相遇的那个数和目标值交换后的数组不一定是合法的目标值前面都是大于它的数后面都是小于它的数。
http://www.hkea.cn/news/14530252/

相关文章:

  • 软文营销的成功案例优化方案英语必修一答案
  • 适合做网站服务器的主机建网站拿到广告
  • 建设集团有限公司网站app定制软件开发哪家好
  • 校园网站建设宣传网站建设费如何入帐
  • 同城广告发布平台网站关键字优化销售
  • 南昌企业建设网站设计utc wordpress
  • 江苏环泰建设有限公司网站icp备案官网查询
  • 网站建设运营知识淘客网站添加到桌面
  • aspx网站开发大学生html5网页大作业
  • 为校园网站建设提供怎么使用网站服务器
  • 美工素材网站舆情系统
  • 域名抢注网站是怎么360网站导航公司地址怎么做
  • 网站 关键词 怎么改网站的层次
  • 如何做一份网站的数据分析c 如何拖控件做网站
  • 驻马店做网站的公司搜索大全引擎入口网站
  • 浙江做网站公司有哪些wordpress新闻编辑器
  • 长春本地网站制作wordpress 标签 函数
  • 农村做网站赚钱四川seo哪家好
  • 婚纱网站建设步骤和方法asp 个人网站
  • 聊城阳谷网站建设专业做外贸的网站
  • 如何进行网站建设分析家电电商平台排名
  • 企业网站推广属于付费推广吗正版seo搜索引擎
  • 路由器端口转发做网站访问量网络营销都有哪些
  • 我的手机网站百度上做优化
  • 负面信息搜索引擎 网站商务门户网站怎么做
  • 常州网站建设seo谷歌seo推广招聘
  • 小程序网站怎么做网络策划案怎么写
  • php网站开发软件中天建设集团有限公司官网
  • 四川南充网站建设网站扁平化设计
  • 广西住房与城乡建设厅网站电话汽车行业网站建设比较