我想以三个最高分获得一个阿雷。我试过了,但效果不好。有人能帮我吗
public int getScore(int teamnumber) { // scores = [100, 25, 55, 15, 17]
return this.scores[teamnumber-1];
}
public int[] top3() {
int[] copy = scores;
int[] out = new int[3];
int max = 0;
int biggest = 0;
for (int i = 1; i != 3; i++) {
for (int j = 1; j != copy.length + 1; j++) {
if (max < getScore(j)) {
out[i - 1] = j;
max = getScore(j);
biggest = j;
}
}
copy[biggest] = 0;
max = 0;
}
return out; // returns [1,1,0]
}
2条答案
按热度按时间yyyllmsg1#
看看这个。。。。
进口:
代码:
uurity8g2#
试试这个
然后在主要
当然,这不是解决这个问题最有效的方法。最好的方法是对数组排序,如果按升序排序,则检索最后3个元素。