Code360 powered by Coding Ninjas X Naukri.com. Code360 powered by Coding
Ninjas X Naukri.com

Problem of the day

Given an array of integers * 'ARR’* of size

The rank of an element is an integer between 1 to ‘N’ inclusive that represents how large the element is in comparison to other elements of the array. The following rules can also define the rank of an element:

```
1. It is an integer starting from 1.
2. The larger the element, the larger the rank. If two elements are equal, their rank must be the same.
3. It should be as small as possible.
```

```
'ARR' = [4, 7, 2, 90]
Here, 2 is the smallest element, followed by 4, 7, and 90.
Hence rank of element 2 is 1, element 4 is 2, element 7 is 3, and element 90 is 4.
Hence we return [2, 3, 1, 4].
```

Detailed explanation

```
2
4 -1
```

```
2 1
```

```
Here, 4 is the largest element and -1 is the smallest element.
So, the rank of 4 is 2.
The rank of -1 is 1.
Thus after replacing elements with their rank we get [2, 1].
```

```
5
1 2 6 9 2
```

```
1 2 3 4 2
```

```
Here, 1 is the smallest element, 2 is the second-smallest element and 6 is the third-smallest element and 9 is the largest element.
So, the rank of 1 should be 1.
The rank of 2 should be 2.
The rank of 6 should be 3.
The rank of 9 should be 4.
Thus after replacing elements with their rank we get [1, 2, 3, 4, 2]
```

```
1 <= N <= 10^4
-10^9 <= ARR[i] <= 10^9
Where 'ARR[i]' denotes the 'ith' element of the array.
Time limit: 1 sec
```