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

总结:

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


相关推荐
一只大袋鼠7 分钟前
并发编程(三):线程快照统计・grep+awk+sort+uniq 实战详解
java·开发语言·多线程·并发编程
unfeeling_12 分钟前
Tomcat实验
java·tomcat
Hx_Ma1624 分钟前
前台模块以及分页逻辑
java·开发语言
亓才孓28 分钟前
AspectJ和SpringAOP的区别
java·开发语言
亚比囧1 小时前
Java基础--面向对象(二)
java·开发语言
infiniteWei1 小时前
SKILL.md 触发机制与设计规范:避免“写了不触发”
java·前端·设计规范
逍遥德1 小时前
Maven教程.01- settings.xml 文件<profile>使用详解
xml·java·maven
快乐非自愿1 小时前
C# 中的 Span 和内存:.NET 中的高性能内存处理
java·c#·.net
tyb3333331 小时前
leetcode:吃苹果和队列
算法·leetcode·职场和发展