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

总结:

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


相关推荐
Mr数据杨15 分钟前
【Codex】用学生支持周报模块跟踪个性化支持进展
android·java·javascript·django·codex·项目开发
JavaPub-rodert22 分钟前
Apache Jena 详解:Java 开发者如何真正搭起一套知识图谱与语义服务
java·apache·知识图谱
lhldsg29 分钟前
线上住宿预约系统开发实战:从需求分析到接口设计
java·大数据·小程序·需求分析
剑指offer.1 小时前
Linux多任务-线程篇
java·jvm·算法
2601_962063971 小时前
Spring Boot拦截器(Interceptor)详解
java·spring boot·后端
这是程序猿1 小时前
深入剖析Java HashMap:底层原理、数据结构与核心机制全解析
java·开发语言·数据结构
不才不才不不才1 小时前
Spring 源码系列(25): @EnableTransactionManagement 与 TransactionInterceptor
java·数据库·spring
隔窗听雨眠1 小时前
CI/CD测试数据清理完全指南:从污染根因到三层清理覆盖的完整方案
java·数据库·ci/cd
Query*1 小时前
Agent 开发之项目 AI 能力自我进化:通过浏览器自动化与数据采集实现持续学习
java·人工智能·ai·自动化
晓晓_za8986682 小时前
GEO 搜索源码白帽合规改造:适配各大 AI 信源收录规则
java·开发语言·人工智能·性能优化·开源