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

NC 排序

系列文章目录


文章目录

  • 系列文章目录
  • 前言


前言

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。
在这里插入图片描述


描述
给定一个长度为 n 的数组,请你编写一个函数,返回该数组按升序排序后的结果。
注:本题数据范围允许绝大部分排序算法,请尝试多种排序算法的实现。
在这里插入图片描述

import java.util.*;
public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可* 将给定数组排序* @param arr int整型一维数组 待排序的数组* @return int整型一维数组*/public int[] MySort (int[] arr) {quickSort(arr , 0 , arr.length-1);return arr;}public void quickSort(int[] list, int left, int right) {if (left < right) {// 分割数组,找到分割点int point = partition(list, left, right);// 递归调用,对左子数组进行快速排序quickSort(list, left, point - 1);// 递归调用,对右子数组进行快速排序quickSort(list, point + 1, right);}}/*** 分割数组,找到分割点*/public int partition(int[] list, int left, int right) {// 用数组的第一个元素作为基准数int first = list[left];while (left < right) {while (left < right && list[right] >= first) {right--;}// 交换swap(list, left, right);while (left < right && list[left] <= first) {left++;}// 交换swap(list, left, right);}// 返回分割点所在的位置return left;}private void swap(int[] arr, int i, int j) {int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}
}

http://www.mrgr.cn/news/28755.html

相关文章:

  • 【CICD】CICD 持续集成与持续交付在测试中的应用
  • 前端开发中常用的包管理器(npm、yarn、pnpm、bower、parcel)
  • Ubuntu配置阿里云docker apt源
  • SpringCloud学习笔记
  • 5G 现网信令参数学习(3) - RrcSetup(1)
  • 探索美赛:从准备到挑战的详细指南
  • 硬件工程师笔试面试——显示器件
  • fiddler抓包03_汉化
  • 基于代理的分布式身份管理方案
  • Linux:软件包管理器 yum和编辑器-vim使用
  • 『功能项目』回调函数处理死亡【54】
  • leetcode-枚举算法
  • Redhat 8/9 缺少 compat-db47
  • SpringBoot开发——统一返回和统一异常处理
  • idea一个窗口打开多个仓库的代码
  • 硬件工程师笔试面试——无线通讯模块
  • string的模拟实现and友元
  • VS Code + WSL 用法摘记
  • 4.提升客户服务体验:ChatGPT在客服中的应用(4/10)
  • canal消费binlog异常排查
  • 数据结构之栈(python)
  • 计算机科学中使用过的逻辑表示汇总
  • 【题解】【枚举】—— [NOIP2008 提高组] 火柴棒等式
  • 【Qnx】使用ClockCycles完成计时功能
  • MySQL —— 视图
  • AI 时代程序员的应变之道