LCR 075.数组的相对排序

题目来源:

leetcode题目,网址:LCR 075. 数组的相对排序 - 力扣(LeetCode)

解题思路:

先将 arr1 中在 arr2 中出现过的元素按顺序排序,然后将剩余元素按升序排序。

解题代码:

复制代码
class Solution {
    public int[] relativeSortArray(int[] arr1, int[] arr2) {
        int thisPos=0;
        for(int j=0;j<arr2.length;j++){//i 指向arr1,j指向 arr2
            for(int k=thisPos;k<arr1.length;k++){
                if(arr1[k]==arr2[j]){
                    arr1[k]=arr1[thisPos];
                    arr1[thisPos]=arr2[j];
                    thisPos++;
                }
            }
        }
        for(int i=thisPos;i<arr1.length;i++){
            for(int j=arr1.length-1;j>i;j--){
                if(arr1[j]<arr1[j-1]){
                    int temp=arr1[j];
                    arr1[j]=arr1[j-1];
                    arr1[j-1]=temp;
                }
            }
        }
        return arr1;
    }
}

总结:

官方题解给出了两种解法。第一种是重写比较器自定义排序。第二种是计数排序。


相关推荐
悟能不能悟9 小时前
java的java.sql.Date和java.util.Date的区别,应该怎么使用
java·开发语言
高山上有一只小老虎10 小时前
java 正则表达式大全
java·正则表达式
_院长大人_11 小时前
设计模式-工厂模式
java·开发语言·设计模式
凌波粒11 小时前
MyBatis完整教程IDEA版(2)--ResultMap/注解/一对多/多对一/lombok/log4j
java·intellij-idea·mybatis
蓝-萧11 小时前
【玩转全栈】----Django基本配置和介绍
java·后端
priority_key11 小时前
排序算法:堆排序、快速排序、归并排序
java·后端·算法·排序算法·归并排序·堆排序·快速排序
汤姆yu13 小时前
基于SpringBoot的动漫周边商场系统的设计与开发
java·spring boot·后端
皮皮林55113 小时前
快速解决 Maven 版本冲突指南 !
java·maven
灰小猿13 小时前
Spring前后端分离项目时间格式转换问题全局配置解决
java·前端·后端·spring·spring cloud
算法与编程之美13 小时前
理解Java finalize函数
java·开发语言·jvm·算法