长春网站推广网诚传媒,app拉新平台,制作闹钟网站,电商设计外包题目来源#xff1a; leetcode题目#xff0c;网址#xff1a;LCR 075. 数组的相对排序 - 力扣#xff08;LeetCode#xff09;
解题思路#xff1a; 先将 arr1 中在 arr2 中出现过的元素按顺序排序#xff0c;然后将剩余元素按升序排序。
解题代码#xff1a;
c…题目来源 leetcode题目网址LCR 075. 数组的相对排序 - 力扣LeetCode
解题思路 先将 arr1 中在 arr2 中出现过的元素按顺序排序然后将剩余元素按升序排序。
解题代码
class Solution {public int[] relativeSortArray(int[] arr1, int[] arr2) {int thisPos0;for(int j0;jarr2.length;j){//i 指向arr1j指向 arr2for(int kthisPos;karr1.length;k){if(arr1[k]arr2[j]){arr1[k]arr1[thisPos];arr1[thisPos]arr2[j];thisPos;}}}for(int ithisPos;iarr1.length;i){for(int jarr1.length-1;ji;j--){if(arr1[j]arr1[j-1]){int temparr1[j];arr1[j]arr1[j-1];arr1[j-1]temp;}}}return arr1;}
}
总结 官方题解给出了两种解法。第一种是重写比较器自定义排序。第二种是计数排序。