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

三水 网站建设百度推广开户2400

三水 网站建设,百度推广开户2400,丹东市网站开发公司,博客新手wordpress文章目录 题目介绍题解 题目介绍 题解 法一:基于快速排序的选择方法 以中间元素pivot为基准进行排序后,右指针 r 的位置就是最终全部排序好后pivot的位置,然后去左边或右边递归寻找第k个位置(答案)的元素。 代码如下…

文章目录

  • 题目介绍
  • 题解

题目介绍

在这里插入图片描述

题解

法一:基于快速排序的选择方法

以中间元素pivot为基准进行排序后,右指针 r 的位置就是最终全部排序好后pivot的位置,然后去左边或右边递归寻找第k个位置(答案)的元素。

代码如下:

class Solution {public int findKthLargest(int[] nums, int k) {int n = nums.length;return quickselect(nums, 0, n - 1, n - k);}// 返回最终排序后数组第k个位置的元素public int quickselect(int[] nums, int left, int right, int k) {if (left == right) { // 区间只剩一个元素,直接返回  >=也可以return nums[k];}int mid = left + (right - left) / 2;int pivot = nums[mid];int l = left, r = right;while (l <= r) {!!!不能用<=,是为了防止中轴值(pivot)被多次交换while (nums[l] < pivot)l++; while (nums[r] > pivot)r--; if (l <= r) {swap(nums, l, r); l++;r--;}}// 递归处理左半部分或右半部分if (k <= r) {return quickselect(nums, left, r, k); // 目标在左半部分} else {return quickselect(nums, l, right, k); // 目标在右半部分}}public void swap(int[] nums, int i, int j) {int tmp = nums[i];nums[i] = nums[j];nums[j] = tmp;}
}
http://www.dtcms.com/wzjs/291541.html

相关文章:

  • 小企业网站建设的基础知识传统营销方式有哪些
  • 系统之家网站怎么做的seo个人博客
  • 历下区网站建设公司北京建站
  • wordpress门户网站模板引擎搜索有哪些
  • 做网站会什么问题武汉seo首页优化技巧
  • 网站开发过程说明怎么写免费seo网站推广在线观看
  • 网站建站企业seo关键词排名查询
  • 怎么评价网站做的好坏seo在线教学
  • 西安网站建设地址优化关键词软件
  • wordpress网站搬家图片路径营业推广名词解释
  • 奢侈品+网站建设方案深圳全网营销方案
  • 网站建设与网络营销网站seo排名优化工具
  • 用ps做零食网站模板seo网络推广招聘
  • 深圳做网站的好公司北京网站推广机构
  • 天河区进一步seo英文怎么读
  • 如何免费建网站赚钱中国网站排名前100
  • 手机应用开发湖南正规seo公司
  • b2b网站首页设计南宁seo推广优化
  • 做司法考试真题的网站网站排名优化培训课程
  • wordpress客户端APP广东seo推广贵不贵
  • 网站建设使用的什么软件有哪些内容百度关键词优化策略
  • 自建网站视频教程seo推广任务小结
  • 新型h5网站建设电商seo优化
  • 手机网站大全1百度人气榜排名
  • 官方网站建设源码系统百度推广关键词查询
  • 怎么把电脑当服务器做网站百度热搜电视剧
  • 个人做网站开工作室高端营销型网站
  • 怎样在百度免费做网站如何制作公司网页
  • 做盗版电影网站整合营销策略有哪些
  • 湖北网站建设报价域名批量查询系统