Java 在数组中查找最佳人选

Java 在数组中查找最佳人选,java,Java,我有一个名为Names[5]的数组和一个名为scores[5][5]的数组。 每一行都与相应索引中的名称相对应 我需要在分数数组中找到最高的分数,并返回与其对应的名称 这就是我到目前为止所做的: int high = 0; for(a=0; a<5; a++) for(b=0; b<5; b++) if(high<scores[a][b]) int高=0; 对于(a=0;a只需扫描矩阵,并记住迄今为止的最佳分数和最佳名称。 比如: String[] n

我有一个名为Names[5]的数组和一个名为scores[5][5]的数组。 每一行都与相应索引中的名称相对应

我需要在分数数组中找到最高的分数,并返回与其对应的名称

这就是我到目前为止所做的:

int high = 0;
for(a=0; a<5; a++)
    for(b=0; b<5; b++)
        if(high<scores[a][b])
int高=0;

对于(a=0;a只需扫描矩阵,并记住迄今为止的最佳分数和最佳名称。 比如:

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);
String[]name={“a”、“b”、“c”、“d”、“e”};
整数[]分数=新整数[5][5];
//…初始分数
int best=Integer.MIN_值;
字符串bestName=null;

对于(int nm=0;nm只需扫描矩阵,并记住迄今为止的最佳分数和最佳名称。 比如:

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);
String[]name={“a”、“b”、“c”、“d”、“e”};
整数[]分数=新整数[5][5];
//…初始分数
int best=Integer.MIN_值;
字符串bestName=null;

for(int nm=0;nmOK。那么,你被困在哪里了?你已经走了多远?你到底需要什么帮助?你需要使用更好的数据结构。我知道我现在需要一个dubble for循环,以确定在int high=0;for上逻辑将如何工作(a=0;a即使不需要也要养成使用大括号的习惯。请记住,代码是供人阅读的,而不是供计算机阅读的。编译器不在乎您是否有“额外的”不管有没有大括号,但作为一个人,最好是一致的,并且总是有大括号。这大大提高了可读性。那么,你被困在哪里了?你已经走了多远?你到底需要什么帮助?你需要使用更好的数据结构。我知道我现在需要一个dubble for循环来确定逻辑在它上的工作方式t high=0;for(a=0;a)也养成了在不需要的时候使用大括号的习惯。记住,代码是供人阅读的,而不是供计算机阅读。编译器不在乎你是否有“额外”大括号,但作为一个人,最好保持一致并始终有大括号。对于应该是O的东西,它大大提高了可读性O(N^2)(1) .Data structures people.Int=Integer.Min_值的最佳值是什么do@Byron:假设我们可以控制收集分数的过程,我们可以在此过程中保持最佳分数和人员,然后在O(1)中返回但问题是指一个给定的情况,其中数据已经存在于矩阵中。这里没有比O(n^2)更好的解决方案@道尔顿:我用尽可能最小的整数初始化变量best。这样我保证在双循环中遇到的第一个分数将覆盖它并设置相应的名称。任何其他初始化值都可能导致循环以bestName==nullInteger终止。Min_值返回in的最小可能值t、 在本例中,它使用最小值int初始化best score变量。您可以使用0初始化best,但回答者不知道数组中是否会出现负分数,这将返回错误的答案。int的最小值为负2^16。对于应该是O(1)的某些内容,int的最小值为负2^16。ugh O(N^2).Data structures people.Int=Integer.Min_值的最佳值是什么do@Byron:假设我们可以控制收集分数的过程,我们可以在此过程中保持最佳分数和人员,然后在O(1)中返回但问题是指一个给定的情况,其中数据已经存在于矩阵中。这里没有比O(n^2)更好的解决方案@道尔顿:我用尽可能最小的整数初始化变量best。这样我保证在双循环中遇到的第一个分数将覆盖它并设置相应的名称。任何其他初始化值都可能导致循环以bestName==nullInteger终止。Min_值返回in的最小可能值t、 在本例中,它使用最小值int初始化best score变量。您可以使用0初始化best,但回答者不知道数组中是否会出现负值,这将返回错误的答案。int的最小值为负2^16。