小编Sye*_*bli的帖子

如何找到整数数组中每个元素的等级

我想找出从0开始的数组中每个元素的等级.

例如:

arr = {2, 1,3 } 
rank will be {1,0 ,2}
Run Code Online (Sandbox Code Playgroud)

说明:

rank of 2 is 1 because 2 is greater than exactly 1 element
rank of 1 is 0 because 1 is greater than exactly  0  element
rank of 3 is 2 because 1 is greater than exactly  2  element
Run Code Online (Sandbox Code Playgroud)

我试过的是n^2时间复杂度算法.我想要一个具有线性时间复杂度的算法O(n).

有人在下面的评论部分给了我解决方案,但他的评论已被删除我不知道如何.哪个正确适用于负整数和正整数以及非常大的列表大小.

感谢作者

import java.io.IOException;
import java.io.InputStream;
import java.util.*;

class rank{
    public static void main(String args[]){
        ArrayList<Integer> list = new ArrayList<Integer>();
        list.add(2);
        list.add(1);
        list.add(3); …
Run Code Online (Sandbox Code Playgroud)

java arrays algorithm time-complexity

10
推荐指数
1
解决办法
8270
查看次数

标签 统计

algorithm ×1

arrays ×1

java ×1

time-complexity ×1