首页 > 其他分享 >leetcode-1122-easy

leetcode-1122-easy

时间:2023-03-11 13:46:26浏览次数:29  
标签:map easy 22 int 1122 28 arr2 arr1 leetcode

Relative Sort Array

Given two arrays arr1 and arr2, the elements of arr2 are distinct, and all elements in arr2 are also in arr1.

Sort the elements of arr1 such that the relative ordering of items in arr1 are the same as in arr2. Elements that do not appear in arr2 should be placed at the end of arr1 in ascending order.

Example 1:

Input: arr1 = [2,3,1,3,2,4,6,7,9,2,19], arr2 = [2,1,4,3,9,6]
Output: [2,2,2,1,4,3,3,9,6,7,19]
Example 2:

Input: arr1 = [28,6,22,8,44,17], arr2 = [22,28,8,6]
Output: [22,28,8,6,17,44]
Constraints:

1 <= arr1.length, arr2.length <= 1000
0 <= arr1[i], arr2[i] <= 1000
All the elements of arr2 are distinct.
Each arr2[i] is in arr1.

思路一:排序,先按照指定的顺序排列,然后按照自然顺序排,自然顺序需要 +1000

    public static int[] relativeSortArray(int[] arr1, int[] arr2) {
        Map<Integer, Integer> map = new HashMap<>();

        for (int i = 0; i < arr2.length; i++) {
            map.put(arr2[i], i);
        }

        Integer[] clone = Arrays.stream(arr1).boxed().toArray(Integer[]::new);

        Arrays.sort(clone, Comparator.comparingInt(o -> map.getOrDefault(o, o + 1000)));

        return Arrays.stream(clone)
                .mapToInt(Integer::intValue)
                .toArray();
    }

标签:map,easy,22,int,1122,28,arr2,arr1,leetcode
From: https://www.cnblogs.com/iyiluo/p/17205776.html

相关文章

  • leetcode-1071-easy
    GreatestCommonDivisorofStringsFortwostringssandt,wesay"tdividess"ifandonlyifs=t+...+t(i.e.,tisconcatenatedwithitselfoneormor......
  • leetcode-1389-easy
    CreateTargetArrayintheGivenOrderGiventwoarraysofintegersnumsandindex.Yourtaskistocreatetargetarrayunderthefollowingrules:Initiallyt......
  • leetcode-1544-easy
    MakeTheStringGreatGivenastringsofloweranduppercaseEnglishletters.Agoodstringisastringwhichdoesn'thavetwoadjacentcharacterss[i]and......
  • leetcode-977-easy
    SquaresofaSortedArrayGivenanintegerarraynumssortedinnon-decreasingorder,returnanarrayofthesquaresofeachnumbersortedinnon-decreasingor......
  • leetcode-1021-easy
    RemoveOutermostParenthesesAvalidparenthesesstringiseitherempty"","("+A+")",orA+B,whereAandBarevalidparenthesesstrings,and+represe......
  • leetcode-1496-easy
    PathCrossingGivenastringpath,wherepath[i]='N','S','E'or'W',eachrepresentingmovingoneunitnorth,south,east,orwest,respectively.Youstart......
  • leetcode-1523-easy
    CountOddNumbersinanIntervalRangeGiventwonon-negativeintegerslowandhigh.Returnthecountofoddnumbersbetweenlowandhigh(inclusive).Example......
  • LeetCode|2457. 美丽整数的最小增量
    题目链接:2457.美丽整数的最小增量给你两个正整数n和target。如果某个整数每一位上的数字相加小于或等于target,则认为这个整数是一个美丽整数。找出并返回满......
  • 【LeetCode回溯算法#07】子集问题I+II,巩固解题模板并详解回溯算法中的去重问题
    子集力扣题目链接给你一个整数数组nums,数组中的元素互不相同。返回该数组所有可能的子集(幂集)。解集不能包含重复的子集。你可以按任意顺序返回解集。示例1:输......
  • eNSP的使用4  NAT网络地址转换 easyip
    静态转换:一对一绑定 (双向通信)路由器靠地址区分内部主机easy ip :多对一  (单向通信)路由器靠端口(临时端口)区分内部主机easy ip的配置:1.配置aclacl  2000rule perm......