Я знаю, но я отправил это почти в то же самое точное время. Я предполагаю, что время, которое я получил, чтобы закончить это, он уже отправил это.
я есть массив, содержащий числа, которые являются рангами.
Что-то вроде этого :
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
Есть ли лучший способ, чем этот?
Потому что, в моем случае, это может быть массив, содержащий миллионы элементов, из-за которых у меня возникают проблемы с производительностью.
Так,
Любое предложение приветствуется.