Back to Month
EASY 12 Jul 2026

1331. Rank Transform of an Array

</> Solution

import java.util.*;
class Solution {
    public int[] arrayRankTransform(int[] arr) {
        int[] sorted = arr.clone();
        Arrays.sort(sorted);
        Map<Integer, Integer> rank = new HashMap<>();
        int r = 1;
        for (int num : sorted) {
            if (!rank.containsKey(num)) {
                rank.put(num, r++);
            }
        }
        int[] ans = new int[arr.length];
        for (int i = 0; i < arr.length; i++) {
            ans[i] = rank.get(arr[i]);
        }
        return ans;
    }
}

TIME COMPLEXITY

O(n log n)

SPACE COMPLEXITY

O(n)

TOPICS

Array Hash Map Sorting