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

总结:

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


相关推荐
莫问前路漫漫几秒前
Java Runtime Environment(JRE)全解析:Java 程序跨平台运行的核心基石
java·开发语言
进阶小白猿2 分钟前
Java技术八股学习Day22
java·开发语言·学习
蒟蒻的贤6 分钟前
操作系统复习
java·开发语言·数据库
sanggou17 分钟前
Spring Boot 中基于 WebClient 的 SSE 流式接口实战
java·人工智能
未若君雅裁18 分钟前
SpringBoot2.x与SpringBoot3.x自动配置注册的差异
java·spring boot
赵八斤24 分钟前
java 项目中配置多个数据源
java·开发语言·数据库
鹿角片ljp25 分钟前
力扣112. 路径总和:递归DFS vs 迭代BFS
leetcode·深度优先·宽度优先
im_AMBER25 分钟前
Leetcode 104 两两交换链表中的节点
笔记·学习·算法·leetcode
小冷coding29 分钟前
【Java】以 Java + Redis + MySQL 为技术栈,模拟电商商品详情的读写场景,Cache Aside+ 延迟双删 方案
java·redis·mysql
程序员-King.29 分钟前
day159—动态规划—打家劫舍(LeetCode-198)
c++·算法·leetcode·深度优先·回溯·递归