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

免费网站建设大全运用vs2010c 做网站

免费网站建设大全,运用vs2010c 做网站,网页建设与网站设计心德体会,做外贸soho 需要有网站吗🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

在这里插入图片描述

🚀 算法题 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,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/440830/

相关文章:

  • 学做网站应该看那些书网站建设优化服务器
  • 免费微网站哪个好用精准到可怕的2022楼市预言
  • 开心消消乐官方网站开发公司郑州汉狮做网站费用
  • 微网站 htmliis 7.0 搭建网站
  • 做姓氏图的网站北京企业网站建设飞沐
  • seo如何分析一个网站新浦建设集团网站
  • 张家港早晨网站建设合肥网站设
  • 网站推广公司招聘可以直接打开的网站正能量
  • 网站建设师要求三大主流app开发平台
  • 做网站软件下载手机版公司英文网站多少钱
  • 深圳优定软件网站建设文化传媒网站php源码
  • 湖南建设长沙网站建设价格网站改版建设征求意见书
  • 艾辰做网站廊坊网站快照优化公司
  • 杭州建设工程交易中心网站一个空间两个网站
  • icp备案后要建网站吗中国建设银行网站保定五四路
  • 做问卷调查的网站有哪些内容三杰网站建设
  • 上海网站关键排名深圳航空官网机票预订
  • 业务网站制作制作人
  • 帝国cms能建设视频网站吗房地产项目营销策划方案
  • 青岛网站搜索排名免费网站建设推广
  • 公司做网站文案怎么写淘宝网站建设好评
  • 跟建设通一样的网站网页设计师资格证培训班
  • 中山微信网站wordpress文件缺失
  • 品牌网站解决方案齐河网站建设电话
  • 外贸seo网站搭建ico项目网站建设
  • 做直播网站要多少钱360应用市场
  • 郴州网站建设较好的公司建立个人网站用虚拟主机
  • 做网站赚钱还是做app赚钱本地wordpress搭建
  • 网站建设的描述买链接官网
  • 杭州建设网站公司哪家好metro风格网站模板