【发布时间】:2021-08-09 05:19:51
【问题描述】:
import java.util.Scanner;
public class maxAvgPath {
public static void main(String [] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[][] c = new int[n+1][n+1];
for (int i = 0; i < n; i++){
for (int j = 0; j < n; j++){
c[i][j]=sc.nextInt();
}
}
float sum = c[0][0];
float m = 0;
for (int i = 0; i < n; i++){
for (int j = 0; j < n; j++){
if (c[i][j + 1] < c[i + 1][j]) {
sum = sum + c[i + 1][j];
m++;
} else {
sum = sum + c[i][j + 1];
m++;
}
}
}
System.out.println((sum/m));
}
}
给定一个大小为 N*N 的方阵,其中每个单元格都与特定的成本相关联。路径定义为从左上角单元格开始仅向右或向下移动并在右下角单元格结束的特定单元格序列。我们希望找到一条在所有现有路径上具有最大平均值的路径。平均值计算为总成本除以路径中访问的单元格数量。 输入:矩阵 = [1, 2, 3, 4, 5, 6, 7、8、9] 输出:5.8 具有最大平均值的路径是 1 -> 4 -> 7 -> 8 -> 9 路径总和为 29,平均值为 29/5 = 5.8
但是我没有得到正确的输出,有人能告诉我我的错误在哪里吗?
【问题讨论】:
-
谁是“我们”?你的 for 是否重新表述了你的作业?
-
这是什么意思?