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

网站开发项目教程任务分解店铺销售系统软件哪个好

网站开发项目教程任务分解,店铺销售系统软件哪个好,Wordpress手机端显示不全,一个网站如何进行推广宣传🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

在这里插入图片描述

🚀 算法题 🚀

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

相关文章:

  • 安装网站出现dir网络服务商提供的adsl上网帐号及口令
  • 做网站备案要处省的电话号码海口高端品牌网站建设
  • 佛山网站建设永网上海网站建设 app开发
  • 阿坝州建设局网站刘志彬百度做广告怎么做
  • 哈尔滨网站建设渠道虚拟主机的优点
  • 南京网站制作哪家专业定制网站开发设计
  • 网站设计赏析定制网站建设费用
  • 可以做音基题的音乐网站展示营销型网站
  • 杭州高端网站建设公司哪家好北京公司注册地址查询
  • 在wordpress官网建站建设工程管理网站
  • 常州网站建设推广公司海南网站建设开发
  • 中英版网站系统哪个网站可以做思维导图
  • 搜不到自己的网站做网站 怎么选择公司
  • 网站注册可以免费吗网站别人做的收到方正侵权
  • delphi 做直播网站张家口建设部网站
  • 专业品牌网站建设wordpress可折叠菜单
  • 郑州网站建设喝彩龙岩seo包年系统排行榜
  • 洛阳东翔科技做的网站版面设计图片
  • 公司自己的网站怎样做汕头 网站设计
  • 怎么做淘宝客手机网站推广云南 网站建设
  • 爱奇艺做视频网站的杭州网站建设 网站设计
  • 网站建设管理要求沈阳网络推广
  • 用vue做多页面网站wordpress中间页跳转插件
  • 随州学做网站wordpress前台编辑器
  • 电商网站开发需求江西智能网站建设哪家好
  • 河南微网站建设公司哪家好中国建设银行云浮分行网站
  • 如何提高网站安全性织梦网站被挂马怎么处理
  • 淘宝网店网站建设目的制作二维码的平台
  • 创造网站软件wordpress 取消评论审核
  • 网站搭建规划推广软件是什么意思