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

济南1951年建站动漫设计就业率高吗

济南1951年建站,动漫设计就业率高吗,西安做网站选哪家,王烨洛阳🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

在这里插入图片描述

🚀 算法题 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 算法题 🚀

在这里插入图片描述
在这里插入图片描述

🍔 目录

    • 🚩 题目链接
    • ⛲ 题目描述
    • 🌟 求解思路&实现代码&运行结果
      • ⚡ 快速选择排序
        • 🥦 求解思路
        • 🥦 实现代码
        • 🥦 运行结果
    • 💬 共勉

🚩 题目链接

  • 215. 数组中的第K个最大元素

⛲ 题目描述

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

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

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

示例 1:

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

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

提示:

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

🌟 求解思路&实现代码&运行结果


⚡ 快速选择排序

🥦 求解思路
  1. 题目要求在一个未排序的数组中找到第 k 个最大的元素。可以通过找到第 n - k 个最小的元素来等价求解(其中 n 是数组的长度)。

  2. 基于快速选择算法:利用快速排序的分区思想,通过随机选择基准值(pivot)将数组划分为三部分:

    • 小于 pivot 的部分。

    • 等于 pivot 的部分。

    • 大于 pivot 的部分。

  3. 递归处理:

    • 如果目标索引 index 在等于 pivot 的范围内,则直接返回 pivot。

    • 如果目标索引 index 在小于 pivot 的范围内,则在左半部分递归查找。

    • 如果目标索引 index 在大于 pivot 的范围内,则在右半部分递归查找。

  4. 随机化基准值:通过随机选择基准值,避免最坏情况的时间复杂度。

  5. 有了基本的思路,接下来我们就来通过代码来实现一下。

🥦 实现代码
class Solution {public int findKthLargest(int[] nums, int k) {return minKth(nums, nums.length - k);}public static int minKth(int[] arr, int k) {return process(arr, 0, arr.length - 1, k);}public static int process(int[] arr, int L, int R, int index) {if (L == R) {return arr[L];}int pivot = arr[L + (int) (Math.random() * (R - L + 1))];int[] range = partition(arr, L, R, pivot);if (index >= range[0] && index <= range[1]) {return arr[index];} else if (index < range[0]) {return process(arr, L, range[0] - 1, index);} else {return process(arr, range[1] + 1, R, index);}}public static int[] partition(int[] arr, int L, int R, int pivot) {int less = L - 1;int more = R + 1;int cur = L;while (cur < more) {if (arr[cur] < pivot) {swap(arr, ++less, cur++);} else if (arr[cur] > pivot) {swap(arr, cur, --more);} else {cur++;}}return new int[] { less + 1, more - 1 };}public static void swap(int[] arr, int i1, int i2) {int tmp = arr[i1];arr[i1] = arr[i2];arr[i2] = tmp;}}
🥦 运行结果

在这里插入图片描述


💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

在这里插入图片描述

http://www.yayakq.cn/news/32497/

相关文章:

  • 在百度怎么建立自己的网站怎样增加网站流量
  • 哪里有做网站的公司用前端做的比较酷的网站
  • 北京网站建设开发公司c语言 网站开发
  • 我的世界建筑网站北京哪个公司做网站好
  • 企业微信网站建设微信开放平台可以做网站么
  • 自己做网站需要下载什么软件音乐网站开发文档撰写模板
  • 电脑网站素材别人冒用我们公司做的网站怎么关掉
  • 顺德网站建设多少钱iis的网站登录没反应
  • 网站关键字怎么写广州全网络营销
  • apache建设多个网站做黄金的网站
  • 网站工程师证书房地产广告设计网站
  • 云南个旧建设局网站商会信息平台网站建设方案
  • 网站开发企业公司上海设计网站开发
  • 护理学院网站建设PPT做的好的有哪些网站
  • 太原建站SSC网站开发H5
  • 外贸网站一站式服务宁波梅山建设局网站
  • 做地方门户网站的资质照明设计师
  • 广州网站开发设计公司公司网站备案号
  • 安徽省建设信息网站思明区建设局官网站
  • vps网站助手承德 网站建设 网络推广 网页设计
  • 零基础网站建设教学服务装修设计网站源码
  • 企业网站的建设目的是什么下载网站模板的软件
  • 无锡手机网站开发服务器搭建网站步骤视频
  • 湖南网站建设加盟代理17网站一起做网店代发流程
  • 广州网站开发外包公司网站关键字优化
  • 手机版商城网站案例甘肃网站开发公司
  • 尤溪县建设局网站聚云测网站怎么做的
  • 四川城乡和住房建设厅网站首页电商网站开发教材
  • 北京智能模板建站沈阳网站托管公司
  • 360网站卖东西怎么做关键词优化排名seo