我有一个包含数字的数组.
我在O(N)中得到了这个数组的两个最小值(可以是相同的数字),但我无法弄清楚如何获得这两个值的索引.
例如:在{1,2,3,1,5}中,答案将是索引0和索引3.这是我正在使用的代码:
public static void minMin(int arr[]){
int min1 = weights[0], min2 = weights[1];
if(min1 > min2){
int temp = min1;
min1 = min2;
min2 = temp;
}
for (int i = 2; i < weights.length; i++) {
if(weights[i] < min1){
int temp = min1;
min1 = weights[i];
min2 = temp;
}else if(weights[i] < min2){
min2 = weights[i];
}
}
}
Run Code Online (Sandbox Code Playgroud)