例如:数组
int[] b={4,2,12,8};
排序后 {2,4,8,12} 0,1,2,3 生成后的数组b={1,0,3,2};
public int[] question01(int[] arr){
HashMap<Integer,Integer> hashMap = new HashMap<>();
for (int i=0;i<arr.length;i++){
hashMap.put(arr[i],i);//存放原数组值和下标
}
Arrays.sort(arr);//正序排
for(int i=0;i<arr.length;i++){
arr[i] =hashMap.get(arr[i]);//取对于的坐标值
}
return arr;
}
测试结果: