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

总结:

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


相关推荐
AI科技摆渡6 分钟前
GPT-5.2介绍+ 三步对接教程
android·java·gpt
猿与禅13 分钟前
Spring Boot 4.0 完整核心特性及实践指南
java·spring boot·后端·spring·重大升级·springboot4.0
运维@小兵27 分钟前
Spring-AI系列——Tool Calling获取当前时间
java·后端·spring
认真敲代码的小火龙29 分钟前
【JAVA项目】基于JAVA的养老院管理系统
java·开发语言·课程设计
he___H30 分钟前
滑动窗口一题
java·数据结构·算法·滑动窗口
扶苏-su31 分钟前
Java---事件处理机制
java·开发语言
雨中飘荡的记忆32 分钟前
Hutool工具库实战
java
镜花水月linyi41 分钟前
Java 线程创建的完整链路:从 Java 层 → JVM 层 → 操作系统层
java·后端·面试
zfj3211 小时前
排查java应用内存溢出的工具和方法
java·开发语言·jvm·内存溢出
lightqjx1 小时前
【算法】双指针
c++·算法·leetcode·双指针