我有一個名爲Names [5]的數組和一個名爲scores [5] [5]的數組。 每一行都對應於相應索引中的名稱。尋找數組中最好的人
我需要在scores數組中找到最高分數並返回與之對應的名稱。
這是我到目前爲止有:
int high = 0;
for(a=0; a<5; a++)
for(b=0; b<5; b++)
if(high<scores[a][b])
我有一個名爲Names [5]的數組和一個名爲scores [5] [5]的數組。 每一行都對應於相應索引中的名稱。尋找數組中最好的人
我需要在scores數組中找到最高分數並返回與之對應的名稱。
這是我到目前爲止有:
int high = 0;
for(a=0; a<5; a++)
for(b=0; b<5; b++)
if(high<scores[a][b])
只需掃描矩陣,記住最好成績和最好的名字至今。 類似於:
String[] names = {"a","b","c","d","e"};
int[][] scores = new int[5][5];
//... init scores
int best = Integer.MIN_VALUE;
String bestName = null;
for(int nm = 0;nm<5;nm++){
for(int c = 0;c<5;c++){
int score = scores[nm][c];
if (score>=best){
best = score;
bestName = names[nm];
}
}
}
System.out.println(bestName);
ugh O(N^2)的東西應該是O(1)。數據結構的人。 – 2010-04-29 21:44:33
Int最好= Integer.Min_value做什麼 – dalton 2010-04-29 21:53:37
@Byron:假設我們控制着收集分數的過程,我們可以在這個過程中保持最好的分數和人,然後在O(1)中返回它。但是這個問題涉及數據已經在矩陣中的給定情況。這裏沒有比O(n^2)更好的解決方案 – 2010-04-29 22:03:50
好的。那麼你卡在哪裏?你有多遠?你究竟需要幫助弄清楚什麼? – 2010-04-29 21:22:25
您需要使用更好的數據結構。 – 2010-04-29 21:22:58
我知道我將需要一個循環的配合才能確定邏輯如何工作 – dalton 2010-04-29 21:23:48