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;
    }
}

总结:

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


相关推荐
阿华的代码王国几秒前
【JavaEE】——多线程(join阻塞,计算,引用,状态)
java·开发语言·数据结构·java-ee
江喜原5 分钟前
微服务下设计一个注解标识是否需要登录
java·微服务·架构·登录
ABin-阿斌12 分钟前
SpringBoot 整合 Easy_Trans 实现翻译的具体介绍
java·spring boot·后端
菜鸟求带飞_14 分钟前
算法打卡:第十一章 图论part03
java·数据结构·算法·深度优先·图论
圆头圆脑圆JAVA14 分钟前
简单了解微服务--黑马(在更)
java·spring boot·微服务
木子欢儿22 分钟前
在 Debian 12 上安装 Java 21
java·运维·开发语言·debian
一二小选手25 分钟前
【高级编程】XML DOM4J解析XML文件(含案例)
xml·java
终末圆26 分钟前
MyBatis XML映射文件编写【后端 18】
xml·java·开发语言·后端·算法·spring·mybatis
就这个java爽!26 分钟前
超详细的XML介绍【附带dom4j操作XML】
xml·java·开发语言·数据库·青少年编程·eclipse
kunkun10128 分钟前
Mybatis的XML实现方法
xml·java·mybatis