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

网站建设 模块兰州网络推广公司哪家好

网站建设 模块,兰州网络推广公司哪家好,c2b模式的电商平台网站有哪些,设计素材网站排行榜每天一题,防止痴呆题目示例分析思路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.shuangfujiaoyu.com/news/47958.html

相关文章:

  • ui设计与网站建设活动推广文案
  • 邯郸网站建百度竞价广告代理
  • 学校网站建设的必要性淄博新闻头条最新消息
  • 提升网站权重吗朝阳区seo
  • 建设部网站官网 下载规范昆山网站制作公司
  • dedecms做网站有多快优化排名seo
  • 很强大的网站运营方案1少儿培训
  • 网站 签约上海正规seo公司
  • 手机手机网站开发优帮云排名自动扣费
  • 做游戏女角色去衣的网站企业网络推广的方法有哪些
  • 网站 的建设意义自己做一个网站要多少钱
  • 网站自动识别移动终端百度 营销推广费用
  • 百货店怎么做网站送货网站如何宣传推广
  • 如何建立外贸网站网站视频
  • 网络技术与网站建设百度推广登陆
  • 肇东网站制作2023年的新闻时事热点论文
  • 杭州公司做网站整站seo技术
  • 中国关于生态文明建设的网站跨境电商靠谱吗
  • 网站开发合作保密协议百度推广开户多少钱
  • 设计建网站seo主要做哪些工作
  • 厦门房地产网站建设宁波网络营销推广咨询报价
  • dw用ps切片做网站域名权重查询
  • 九江便宜做网站注册百度推广账号
  • 网站建设昆明网络公司短视频培训课程
  • 如何开个人网站百度网页游戏大厅
  • 江门网站建设定制郑州网站优化
  • 做公司做网站有用吗谷歌浏览器2021最新版
  • 清远市住房与城乡建设局的网站查网站查询关键词排名软件
  • 店铺推广方法个人博客seo
  • 北京东城网站建设营口seo