Я знаю, но я отправил это почти в то же самое точное время. Я предполагаю, что время, которое я получил, чтобы закончить это, он уже отправил это.

я есть массив, содержащий числа, которые являются рангами.

Что-то вроде этого :

0 4 2 0 1 0 4 2 0 4 0 2

Вот0 соответствует низшему разряду иmax число соответствует высшему разряду. Может быть несколько индексов, содержащих наивысший ранг.

Я хочу найти индекс всех этих самых высоких рангов в массиве. Я добился с помощью следующего кода:

import java.util.*;

class Index{

    public static void main(String[] args){

        int[] data = {0,4,2,0,1,0,4,2,0,4,0,2};
        int max = Arrays.stream(data).max().getAsInt();
        ArrayList<Integer> indexes = new ArrayList<Integer>();

        for(int i=0;i<12;i++){
            if(data[i]==max){
               indexes.add(i);
            }
        }

        for(int j=0;j<indexes.size();j++){
            System.out.print(indexes.get(j)+" ");   
        }
        System.out.println();
    }
}

Я получил результат как:1 6 9

Есть ли лучший способ, чем этот?

Потому что, в моем случае, это может быть массив, содержащий миллионы элементов, из-за которых у меня возникают проблемы с производительностью.

Так,

Любое предложение приветствуется.

Ответы на вопрос(3)

Ваш ответ на вопрос