Rank Transform of an Array
给一个arr, 求一个数组, 数组里的数字是arr的rank. 这个题就用treeset做. 用map存一下.
class Solution {
public int[] arrayRankTransform(int[] arr) {
TreeSet<Integer> set = new TreeSet<>();
for(int n : arr)
set.add(n);
Map<Integer, Integer> map = new HashMap<>();
int rank = 1;
for(int n : set)
map.put(n, rank++);
int[] res = new int[arr.length];
for(int i = 0; i < arr.length; i++) {
res[i] = map.get(arr[i]);
}
return res;
}
}