2424: 数组序号转换
[Creator : ]
Description
给你一个整数数组 arr ,请你将数组中的每个元素替换为它们排序后的序号。
序号代表了一个元素有多大。序号编号的规则如下:
序号代表了一个元素有多大。序号编号的规则如下:
- 序号从 1 开始编号。
- 一个元素越大,那么序号越大。如果两个元素相等,那么它们的序号相同。
- 每个数字的序号都应该尽可能地小。
Input
第一行一个整数n表示数组arr的长度
第二行n个数字a[i](i=1,2,3....n)
后台数据保证:
第二行n个数字a[i](i=1,2,3....n)
后台数据保证:
- 1 <= n <= 105
- -109 <= arr[i] <= 109
Output
输出将数组中的每个元素替换为它们排序后的序号。
Sample Input Copy
4
40 10 20 30
Sample Output Copy
4 1 2 3
HINT
对于样例解释:40 是最大的元素。 10 是最小的元素。 20 是第二小的数字。 30 是第三小的数字。
样例输入2:
3
100 100 100
样例输出2:
1 1 1
对于样例2解释:所有元素有相同的序号。
样例输入3:
9
37 12 28 9 100 56 80 5 12
样例输出3:
5 3 4 2 8 6 7 1 3
样例输入2:
3
100 100 100
样例输出2:
1 1 1
对于样例2解释:所有元素有相同的序号。
样例输入3:
9
37 12 28 9 100 56 80 5 12
样例输出3:
5 3 4 2 8 6 7 1 3