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

网站建设 模块艾滋病多久能查出来

网站建设 模块,艾滋病多久能查出来,郯城县住房和城乡建设局网站,上海建设摩托车官网报价每天一题,防止痴呆题目示例分析思路1题解1分析思路2题解2分析思路3题解3👉️ 力扣原文 题目 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不…

每天一题,防止痴呆

  • 题目
  • 示例
  • 分析思路1
  • 题解1
  • 分析思路2
  • 题解2
  • 分析思路3
  • 题解3

👉️ 力扣原文

题目

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

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

你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。

示例

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

分析思路1

使用优先队列堆排序(效率太差)

题解1

class Solution {public int findKthLargest(int[] nums, int k) {PriorityQueue<Integer> heap = new PriorityQueue<>((n1,n2)->n1-n2);for (int n : nums){heap.add(n);}while (heap.size() > k){heap.poll();}return heap.poll();}
}

执行结果
在这里插入图片描述

分析思路2

借助Array工具类排序,然后取[数字长度-k]位元素。

题解2

class Solution {public int findKthLargest(int[] nums, int k) {Arrays.sort(nums);int n = nums.length;return nums[n-k];}
}

执行结果
在这里插入图片描述

分析思路3

采用了快速排序中的分区思想,即将一个数组分成小于某个元素和大于某个元素两部分。可以使用左右指针法进行查找。

在每次分区的过程中,通过比较当前元素与分界点的大小关系,将其移到左右两部分中。然后,对左右两部分进行递归,直到找到第N-K+1小的元素时返回结果。

题解3

public class Solution {/*** 找到数组中第K个最大元素* * @param nums 数组* @param k    第K个* @return 第K个最大元素*/public int findKthLargest(int[] nums, int k) {// 转化为第N-K+1小的元素int target = nums.length - k;int left = 0;int right = nums.length - 1;// 左右指针法查找第N-K+1小的元素while (left < right) {int pivotIndex = partition(nums, left, right);if (pivotIndex == target) {return nums[pivotIndex];} else if (pivotIndex < target) {left = pivotIndex + 1;} else {right = pivotIndex - 1;}}return nums[left];}/*** 分区,返回分区点的下标* * @param nums  数组* @param left  左下标* @param right 右下标* @return 分区点的下标*/private int partition(int[] nums, int left, int right) {int pivot = nums[right];int i = left - 1;for (int j = left; j < right; j++) {if (nums[j] <= pivot) {i++;swap(nums, i, j);}}swap(nums, i + 1, right);return i + 1;}/*** 交换数组中两个元素的位置* * @param nums 数组* @param i    位置i* @param j    位置j*/private void swap(int[] nums, int i, int j) {int temp = nums[i];nums[i] = nums[j];nums[j] = temp;}
}

执行结果
在这里插入图片描述

http://www.ds6.com.cn/news/57205.html

相关文章:

  • 威海屋顶防水价格威海做防水网站软文类型
  • 清远网站建设qq群引流推广平台免费
  • 招聘外包服务公司seo优化工作内容
  • 吉林智能网站建设价格百度seo高级优化
  • 市场营销策略的概念seo的中文含义是什么意思
  • 旅游网站排行榜前十名官网网页设计模板
  • 越南的网站建设各大引擎搜索入口
  • 虚拟主机空间发布网站企业营销策划是做什么的
  • 网站备案 法人外贸建站优化
  • B2B网站建站系统他达拉非功效与作用主要会有哪些
  • 自己怎么做电影网站可以赚钱吗什么是优化师
  • dz动力 wordpressseo模拟点击
  • 备案个人网站名称大全91手机用哪个浏览器
  • 专门做美甲的网站一台电脑赚钱的门路
  • 一个网站开发周期中央突然宣布一个大消息
  • 欧美做电影 迅雷下载网站武汉网站提升排名
  • 淮安营销型网站建设长沙线上引流公司
  • 合肥网站营销推广外贸建站推广公司
  • 网页和网站的区别百度一下首页官网百度
  • vps 需刷新几次才能打开网站百度关键词推广价格
  • 做网站还赚钱么网站排行榜前十名
  • 如何用c语言做钓鱼网站seo推广费用需要多少
  • 重庆专业网站建设公司站长之家论坛
  • 用二级域名做的网站算新站吗成都网络推广公司
  • 北京哪个公司做网站好百度图片搜索引擎入口
  • 网站模板含数据库下载google排名
  • 设计网站怎么做如何免费注册一个网站
  • 响应式网站开发原理百度seo关键词排名优化工具
  • 郑州设计工作室seo营销方案
  • 新手去哪个网站做翻译百度搜索排名查询