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

总结:

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


相关推荐
lkbhua莱克瓦2414 分钟前
多线程综合练习3
java·开发语言·多线程·githup
步步为营DotNet27 分钟前
深度解析.NET中属性(Property)的幕后机制:优化数据访问与封装
java·算法·.net
Swift社区27 分钟前
LeetCode 454 - 四数相加 II
java·算法·leetcode
想做后端的小C29 分钟前
Java:访问权限
java·开发语言
啃火龙果的兔子29 分钟前
java语言基础
java·开发语言·python
禾高网络33 分钟前
互联网医院定制|互联网医院|禾高互联网医院搭建
java·大数据·人工智能·小程序
掘根35 分钟前
【消息队列项目】消费者管理模块实现
java·开发语言
努力的小郑36 分钟前
MyBatis 两个隐蔽深坑实录:Arrays.asList() 与数字 0 的“离奇失踪”
java·面试·mybatis
故渊ZY38 分钟前
SpringMVC核心原理与实战全解析
java·spring
多米Domi01141 分钟前
0x3f第12天 0-1背包
python·算法·leetcode·动态规划