給出分數陣列,得到對應的名次陣列
package test01;
/**
* 給出分數陣列,得到對應的名次陣列
* 列如有:score = {4,2,5,4}
* 則輸出:rank = {2,3,1,2}
*/
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class ScoreRank {
// 輸出陣列
public static void show(int[] s){
for(int x:s) System.out.print(x);
System.out.println();
}
// 取得名次
public static int[] scoreRank(int[] score) {
int[] temp = new int[score.length];
List lis = new ArrayList();
for(int x:score) // 新增元素(不重複)
if(!lis.contains(x)) lis.add(x);
Collections.sort(lis); // 從小到大排序
Collections.reverse(lis); // 從大到小排序
for(int i=0;i<score.length;i++) // 下標從 0 開始
temp[i] = lis.indexOf(score[i])+1; // 所以:正常名次 = 取得下標 + 1
return temp;
}
public static void main(String[] args){
int[] score = {4,2,5,4}; // 名次 {2,3,1,2}
int[] rank = scoreRank(score); // 取得名次
System.out.print("原始分數:");show(score);
System.out.print("對應名次:");show(rank);
}
}
執行結果:
原始分數:4254
對應名次:2312
相關文章
- 陣列中每個陣列元素出現的次數陣列
- 陣列演算法-差分陣列陣列演算法
- scala陣列與java陣列對比陣列Java
- PHP 陣列搜尋 sdk & 陣列分頁PHP陣列
- python實現給定一個數和陣列,求陣列中兩數之和為給定的數Python陣列
- 對陣列的操作陣列
- JavaScript中對陣列和陣列API的認識JavaScript陣列API
- java大陣列劃分為若干小陣列Java陣列
- 輸出陣列nums中兩數之和為target的對應下標陣列
- 將一個陣列賦值給另外一個陣列陣列賦值
- 陣列1——求一個陣列的最大子陣列陣列
- 陣列元素劃分陣列
- 給定陣列中找到最大的兩個數陣列
- 陣列中的逆序對陣列
- JavaSE 陣列:一維陣列&二維陣列Java陣列
- Javascript - 陣列和陣列的方法JavaScript陣列
- 陣列filter方法對陣列元素進行過濾陣列Filter
- 陣列進行奇數和偶數操作 把奇數放在陣列前面 偶數放在陣列後面陣列
- Leetcode 陣列中和為給定值的最長子陣列LeetCode陣列
- 陣列元素的數量陣列
- 陣列--移除陣列中指定的元素,不改變原陣列和改變原陣列陣列
- 將字串陣列轉換為浮點數陣列字串陣列
- 【淺出 PHP】陣列相加和陣列合並的區別PHP陣列
- 【陣列】1394. 找出陣列中的幸運數(簡單)陣列
- [求解]陣列,分成倆個陣列,陣列值之和的相差最小。陣列
- 陣列,陣列類,SyStem類陣列
- 陣列結構之陣列陣列
- Java陣列03:陣列使用Java陣列
- 陣列可響應陣列
- JavaScript中對陣列的操作JavaScript陣列
- 在COM中使用陣列引數-陣列指標 (轉)陣列指標
- 找出陣列中元素出現次數超過陣列長度一半的元素陣列
- 陣列(2)陣列運算及典例(求解素數的方法)陣列
- 給出一個由[-100,100]之間整陣列成的陣列,求其相加和最大的連續子陣列 輸入 一個連續整陣列成的陣列 輸出 子陣列相加的最大值 樣例輸入 -......陣列
- C語言應用於LR中-如何得到陣列長度C語言陣列
- 陣列二:使用陣列可變函式為陣列排序陣列函式排序
- 指標陣列和陣列指標與二維陣列指標陣列
- JavaScript 陣列方法對比JavaScript陣列