遇到这么一个业务,通过一个已知的总分数组,来生成相应的排名数组。
public static void main(String[] args) {
int [] sum = new int[]{5,10,12,7,8}; //初始化总分数组
int [] order = new int[]{5,5,5,5,5}; //初始化排名数组(初始化数据为总分数组的长度)
for (int i = 0; i < sum.length; i++) { //具体实现
for (int j=0; j < sum.length; j++) {
if((i!=j)&&(sum[i]>=sum[j])){
order[i]--;
if((sum[i]==sum[j])&&(i>j))
order[i]++;
}
}
}
for (int i = 0; i < order.length; i++) { //输出:5 2 1 4 3
System.out.println(order[i]);
}
}
本文介绍了一种根据总分数组生成相应排名数组的方法,并提供了一个简单示例代码。该算法考虑了分数相同时的排名处理,适用于需要按成绩进行排名的场景。
477





