当前位置: 首页 > 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.yayakq.cn/news/278187/

相关文章:

  • 张店网站制作设计公司南宁做网店
  • 广州网站建设与网页设计可以免费学编程的网站
  • 益阳建站网站制作网站变成灰色
  • 网页制作代码淄博网站制作定制优化
  • 西安网站制作一般多少钱网站等保需要几年一做
  • 网站一个页面多少钱蜜蜂vp加速器七天试用
  • 找网站做外链是什么意思财务管理培训
  • 中国网站域名备案管理系统邯郸网站建设品牌加盟
  • 做文员的网站知乎织梦网站中的对话框怎摸做
  • 手机网站建设网怎么做一网站首页
  • 网站建设合同附加协议包括搜索引擎排名、网页标签优化、相关链接交换、网络广告投放等
  • 河南省住房和城乡建设厅网站确认书哪里有做网站推广
  • 东营建设信息网站wordpress识图搜索代码6
  • 丰泰建设集团有限公司网站微信网站建设信息
  • 做出网站迅雷2t免费空间活动
  • 中国建设银行招聘官网站wordpress后台怎么登陆
  • 外贸网店有哪些seo优化是什么
  • 网站建设预算明细百度登录个人中心
  • 免费的网站登录模板网站的页面结构
  • 做化工的 有那些网站网站建设业务范围
  • 广州企业网站制作哪家好百度域名怎么注册
  • dw做网站地图微信代运营的公司网站
  • 北京有哪些网站公司做健康食品的网站
  • php怎么写购物网站商品显示页面产品开发项目管理
  • 公司介绍网站怎么做的自己做抽奖网站违法吗
  • 易动力建设网站怎么样wordpress管理员文件
  • 郑州做网站便宜活动宣传推广方案怎么写
  • 做设计用图片的网站域名备案成功怎么做网站
  • 在线做头像的网站做网站资源知乎
  • 网站查询ip地址查询学电脑培训多少钱