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

算法-快速排序

给你一个整数数组 nums,请你将该数组升序排列。

输入:nums = [5,2,3,1]
输出:[1,2,3,5]
输入:nums = [5,1,1,2,0,0]
输出:[0,0,1,1,2,5]

详细思路直接看我录制的视频吧 算法-快速排序_哔哩哔哩_bilibili

class Solution {// 快速排序public int[] sortArray(int[] nums) {if (nums == null || nums.length == 1) {return nums;}sort(nums, 0, nums.length - 1);return nums;}private void sort(int[] nums, int left, int right) {if (left >= right) {return;}int mid = findMid(nums, left, right);sort(nums, left, mid-1);sort(nums, mid + 1, right);}private int findMid(int[] nums, int left, int right) {int key = left;int value = nums[left];while (left < right) {while (left < right && nums[right] >= value) {right--;}while (left < right && nums[left] <= value) {left++;}swip(nums, left, right);}swip(nums, key, left);return left;}private void swip(int[] nums, int left, int right) {int temp = nums[left];nums[left] = nums[right];nums[right] = temp;}
}

http://www.lryc.cn/news/113056.html

相关文章:

  • SSM项目-博客系统
  • Android Gradle Plugin 编译
  • 如何快速掌握水土保持方案编制
  • 前端笔试---acm模式
  • 国联易安网页防篡改保护系统“渠道招募”启动啦!
  • JavaScript--WebStorage
  • elementui 的 dialog 常用逻辑总结
  • ip网络广播系统网络音频解码终端公共广播SV-7101
  • 【Winform学习笔记(七)】Winform无边框窗体拖动功能
  • 【Nginx】静态资源部署、反向代理、负载均衡
  • 二、框架篇
  • [LitCTF 2023]Http pro max plus
  • 科技的成就(四十九)
  • 地理信息系统空间分析实验教程 第三版 第八章示例与练习 学校选址
  • opencv35-形态学操作-腐蚀cv2.erode()
  • 数据结构之栈和队列---c++
  • 《网约车运营数据分析实战》学习笔记
  • PostgreSQL常用函数
  • 决策树和随机森林对比
  • CS 144 Lab Seven -- putting it all together
  • opencv基础-29 Otsu 处理(图像分割)
  • gcc-buildroot-9.3.0 和 gcc-arm-10.3 的区别
  • IDEA Run SpringBoot程序步骤原理
  • 海康威视摄像头配置RTSP协议访问、onvif协议接入、二次开发SDK接入
  • Android中的Parcelable 接口
  • Docker-Compose编排与部署
  • Linux JDK 安装
  • JS中常用的数组拷贝技巧
  • SAP ABAP程序性能优化-养成良好的代码习惯
  • SQL SERVER ip地址改别名