LetCode第912题 排序数组之冒泡排序

简介: 依次比较相邻的两du个数,将小数放在前面zhi,大数放在后面。即首先比较第dao1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再大于第2个数),将小数放前,大数放后,一直比较到最小数前的一对相邻数,将小数放前,大数放后,第二趟结束,在倒数第二个数中得到一个新的最小数。如此下去,直至最终完成排序。

冒泡排序(BubbleSort):

依次比较相邻的两du个数,将小数放在前面zhi,大数放在后面。即首先比较第dao1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再大于第2个数),将小数放前,大数放后,一直比较到最小数前的一对相邻数,将小数放前,大数放后,第二趟结束,在倒数第二个数中得到一个新的最小数。如此下去,直至最终完成排序。

 由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。


20200706161223150.png

 外围for中i可看做数组循环的下标,从第一个数开始,到最后一个数结束。
里面的for中j是数组内从第一个数开始与右边的数相比,(由大到小)大的往左移一位,以此类推,j<data.length-1-i ,这是j的自增范围,因为i循环一次比过后会有一个数最大要排除掉,剩下的再比较!

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

示例 1:

输入:nums = [5,2,3,1]
输出:[1,2,3,5]
示例 2:
输入:nums = [5,1,1,2,0,0]
输出:[0,0,1,1,2,5]
提示:
1 <= nums.length <= 50000
-50000 <= nums[i] <= 50000

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/problems/sort-an-array

class Solution {
    int tem=0;
    public int[] sortArray(int[] nums) {
        for(int i=0;i<nums.length;i++){
            for(int j=0;j<nums.length-1-i;j++){
                if(nums[j]>nums[j+1]){
                    tem=nums[j+1];
                    nums[j+1]=nums[j];
                    nums[j]=tem;
                }
            }
        }
        return nums;
    }
}

但是呢 竟然超时限制了 ,如果大家有更好的写法不如发表一下,学习学习!!!

class Solution {
    public int[] sortArray(int[] nums) {
        for(int j=nums.length-1;j>0;j--){
            for(int i=1;i<=j;i++){
                if(nums[i-1]>nums[i]){
                    swap(nums,i,i-1);
                }
            }
        }
        return nums;
    }
    private void swap(int[]nums,int i,int j){
        int temp=nums[i];
        nums[i]=nums[j];
        nums[j]=temp;
    }
}


相关文章
|
存储 JSON 分布式计算
MongoDB【部署 01】mongodb最新版本6.0.5安装部署配置使用及mongodb-shell1.8.0安装使用(云盘分享安装文件)
MongoDB【部署 01】mongodb最新版本6.0.5安装部署配置使用及mongodb-shell1.8.0安装使用(云盘分享安装文件)
757 0
|
消息中间件 负载均衡 Java
Spring Cloud 2023常见20道面试题
以下是20个2023年面试中可能会遇到的Spring Cloud常见问题以及参考答案:
1848 0
|
API C#
SemanticKernel/C#:使用Ollama中的对话模型与嵌入模型用于本地离线场景
SemanticKernel/C#:使用Ollama中的对话模型与嵌入模型用于本地离线场景
533 0
|
安全 关系型数据库 MySQL
深入解析MySQL 8中的角色与用户管理
深入解析MySQL 8中的角色与用户管理
827 3
|
机器学习/深度学习 存储 监控
云上智能视频分析:解锁视频数据的无限潜能
更加安全可靠:随着网络安全和数据保护意识的提高,云上智能视频分析系统将更加注重安全性和可靠性保障。未来的系统将采用更加先进的加密技术和安全防护措施,确保视频数据的传输和存储过程安全可靠;同时还将建立完善
465 0
|
SQL 自然语言处理 数据挖掘
NL2SQL技术方案系列(1):NL2API、NL2SQL技术路径选择;LLM选型与Prompt工程技巧,揭秘项目落地优化之道
NL2SQL技术方案系列(1):NL2API、NL2SQL技术路径选择;LLM选型与Prompt工程技巧,揭秘项目落地优化之道
NL2SQL技术方案系列(1):NL2API、NL2SQL技术路径选择;LLM选型与Prompt工程技巧,揭秘项目落地优化之道
|
消息中间件 应用服务中间件 Kafka
日志收集平台项目nginx、kafka、zookeeper、filebeat搭建的基本配置(1)
日志收集平台项目nginx、kafka、zookeeper、filebeat搭建的基本配置(1)
|
JavaScript Java 测试技术
基于SpringBoot+Vue的煤矿信息管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的煤矿信息管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
124 0
|
存储 运维 Oracle
Oracle系列十八:Oracle RAC
Oracle系列十八:Oracle RAC
2625 0
|
机器学习/深度学习 自然语言处理 计算机视觉
全领域涨点 | Transformer携Evolving Attention在CV与NLP领域全面涨点(文末送书)(一)
全领域涨点 | Transformer携Evolving Attention在CV与NLP领域全面涨点(文末送书)(一)
438 1