java - 如何比较各个行的总和?
问题描述
我已经设法编写了将一行中的数字相加的代码,但现在我坚持比较不同行的总和。什么样的代码比较数组行的总和?
我想尝试一个 if 语句,但是一旦我得到它,我不确定如何获取不同的行然后进行比较,因为你不能真正做 sum > sum
public class MatrixLab {
public int largestRowSum(int[][] matrix) {
//Comment outline before coding!
int[][] nums = matrix;
int sum = 0;
int arraySum = 0;
//add individual rows
for(int r = 0; r < matrix.length; r++) {
for(int c = 0; c < matrix[r].length; c++) {
sum += nums[r][c];
}
}
System.out.println( sum );
//compare rows
//return the value
System.out.println( arraySum );
}
它需要在比较行之后返回具有最大值总和的行的索引
解决方案
保留一个表示最大总和的变量,如果你也想要存储索引
public int largestRowSum(int[][] matrix) {
//Comment outline before coding!
int[][] nums = matrix;
int sum = 0;
int arraySum = 0;
int maxSum = 0; // Indicates the max sum of row encountered till now
int indexOfmaxSumRow = 0; // index of row which corresponds to maxsum
//add individual rows
for (int r = 0; r < matrix.length; r++) {
for (int c = 0; c < matrix[r].length; c++) {
sum += nums[r][c];
}
if (sum > maxSum) {
maxSum = sum;
indexOfmaxSumRow = r;
}
}
System.out.println(sum);
//compare rows
//return the value
System.out.println(arraySum);
return indexOfmaxSumRow;
}
推荐阅读
- css - 设置相对定位的图像标签以占用父 div 垂直空间的 100%
- javascript - 为什么反应组件中的状态没有用 var/let/const 变量前缀声明
- ajax - 显示基于 Ajax 链接的局部视图
- c# - 从 HttpResponseMessage 中提取内容作为 HTML 而不是字符串
- vue.js - vue js - 图像未在生产中显示
- pyspark - 在连接数据框结果中显示用作键连接的两列
- python - python的一个简单循环
- r - R:跨字符调用将变异转换为data.table
- node.js - 无法 Dockerize Vite React-Typescript 项目
- python - 将 XML 字符串插入 Python 字典值