class Solution {
public int[] smallerNumbersThanCurrent(int[] nums) {
Map<Integer,Integer> map = new HashMap<>();
int [] res = Arrays.copyOf(nums,nums.length);
Arrays.sort(res);
for (int i=0;i<res.length;i++){
if (!map.containsKey(res[i])){
map.put(res[i],i);
}
}
for (int i=0;i<nums.length;i++){
res[i]=map.get(nums[i]);
}
return res;
}
}
利用数组排序,
排序后数组的下标,就是该数字的比他小的个数
然后将hash表中的数字存入res数组