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

网站301重定向$微信开发者工具下载安装

网站301重定向$,微信开发者工具下载安装,做网站发布信息,百度安装免费下载一、题目描述 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入:nums [3,2,1,5,6,4], k 2 输出&#xff1a…

一、题目描述

给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。

请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。

示例 1:

输入:nums = [3,2,1,5,6,4], k = 2
输出:5
示例 2:

输入:nums = [3,2,3,1,2,4,5,5,6], k = 4
输出:4

提示:

1 <= k <= nums.length <= 104
-104 <= nums[i] <= 104

二、题目解析

1、插入排序

class Solution {public int findKthLargest(int[] nums, int k) {insertSort(nums);return nums[k - 1];}public void insertSort(int[] nums) {for(int i = 1;i < nums.length;i++){int target = nums[i];int j = i - 1;;for(;j >= 0;j--){if(nums[j] < target){nums[j+1] = nums[j];}else{//找到第一个大于待排元素的元素break;}            }//注意此处不能为nums[j+1] = nums[i],因为在交换过程中nums[i]被改变nums[j+1] = target;}}
}

2、快速排序思想1(一次扫描交换一个到目标位置)
左指针指向i=0,待排元素,(循环遍历前存储待排元素)
右指针指向j=length-1,最后一个元素。
从j位置往前遍历,找到大于待排元素,把该元素换到左指针指向位置(此时右指针位置废弃);
从i位置往后遍历,找到小于待排元素,把该元素换到右指针指向位置(上轮的废弃位置;且此时左指针位置废弃,下一轮遍历将交换到该位置);
再从j位置往前遍历,以此类推。
在此过程中,i走过的区域都是大于等于待排元素的,j走过的区域都是小于待排元素的,最后i和j相遇且指向的都是废弃元素。直接把待排元素排到这里即可。

class Solution {public int findKthLargest(int[] nums, int k) {quickSort(nums,0,nums.length - 1);return nums[k-1];}public void quickSort(int[] nums,int start,int end){//递归结束条件if(start >= end){return;}int mid = (start + end) / 2;swap(nums,start,mid);int index = partition(nums,start,end);quickSort(nums,start,index - 1);quickSort(nums,index + 1,end);}public int partition(int[] nums,int start,int end) {int i = start,j = end;int target = nums[start];while(i < j){while(nums[j] < target && i < j){j--;}nums[i] = nums[j];while(nums[i] >= target && i < j){i++;}nums[j] = nums[i];}//最后return i或者j位置上的元素都可以,因为打破while的时候i==jnums[j] = target;return j;}public void swap(int[] nums,int i,int j){int temp = nums[j];nums[j] = nums[i];nums[i] = temp;}
}

在这里插入图片描述
3、快速排序思想2(一次扫描交换两个到目标位置)

http://www.dtcms.com/a/518458.html

相关文章:

  • 大连 网站维护wordpress 菜单栏插件
  • 网站建设招标说明书景德镇做网站
  • 亳州市网站建设公司网上银行建设银行
  • 深圳网站建设方案优化湖北什么是网络营销
  • 10个免费的黑科技网站seo关键词排名在线查询
  • 成都网站建设单招网建设网站的计划表
  • 建设数字官方网站如何把购物网站做成非经营网站
  • 网站备案要多少钱做北京塞车网站
  • 阿里云国际wordpress安阳如何优化网站
  • 做婚纱网站的意义代做百度首页排名
  • php网站培训宣城网站建设费用
  • 在线做原型的网站wordpress do_
  • 纳森网络做网站多少钱做淘客都有什么网站
  • 邵阳做网站wordpress eshop
  • 网站平台推广方案手工做耳环银材料哪个网站可以买到
  • 十堰响应式网站建设淮南商城网站建设地址
  • 兰州产品营销网站建设担路网口碑做网站好吗
  • 手机网站关键词优化软件网站建设和维护自学
  • 自动做网页的网站wordpress linux 下载
  • 苏州seo优化外包公司网站根目录文件 seo
  • 网站链接优化怎么做电脑上免费制作ppt的软件
  • 打开网站iis7怎么查看网站服务器位置
  • 密云住房和城乡建设部网站首页wordpress数据库怎么连接
  • 网站建设人员工作要求wordpress 仿制
  • 青岛网站设计皆挺青岛博采网络wordpress是瀑布流吗
  • 自己的网站源代码一片空白潼南区做网站的公司
  • 网站的规划与建设英文网站排版
  • 建设网站要那些可做设计任务的网站
  • 网站建设项目实践报告书网站用什么建设
  • whois哪个网站好朔州网站建设优化