【Java入门100例】10各行元素之和——二维数组

这是我参与11月更文挑战的第15天,活动详情查看:2021最后一次更文挑战

点赞再看,养成习惯。微信搜索【一条coding】关注这个在互联网摸爬滚打的程序员。

本文收录于github-技术专家修炼,里面有我的学习路线、系列文章、面试题库、自学资料、电子书等。

题目描述

难度:简单

计算二维数组中各行元素之和并查找其值最大的那个行。

知识点

  • 二维数组
  • 双重循环

解题思路

1.二维数组

二维数组本质上是以数组作为数组元素的数组,即“数组的数组”。可以想像成一个方阵。

定义数组

1
java复制代码int brr [] []=new int[][3]; //二维数组中行可以省略,至少写出列

添加元素

1
2
3
4
5
6
java复制代码brr[0][0]=1; //下标同样从0开始,可以指定位置赋值,也可以整体赋值。
brr={
{1,2,3},
{5,6,7},
{9,10,11}
};

循环遍历

1
2
3
4
5
6
7
java复制代码//遍历行
for(int i=0;i<3;i++){
//遍历列
for(int j=0;j<3;j++){
System.out.println(brr[i][j]);
}
}

2.双重循环

类似上面的循环遍历。

在实际应用中,双重循环能解决大部分问题,但其时间复杂度为O(n^2),尽量避免使用。

代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
java复制代码/**
*计算二维数组中各行元素之和并查找其值最大的那个行。
*/
public class question_10 {
public static void main(String args[]) {
int myTable[][] = {
{22, 34, 45, 11, 33, 5, 92},
{17, 9, 27, 31, 46, 54, 88},
{98, 81, 64, 62, 15, 14, 23},
{54, 43, 55, 1, 22, 9, 33}
};
int sum, max, maxRow=0;
max = 0;
for (int row=0; row<4; row++) {
sum = 0;
for (int col=0; col<7; col++)
sum += myTable[row][col];
if (sum > max) {
max = sum;
maxRow = row;
}
}
System.out.println("Row: " + maxRow + " value: " + max);
}
}

输出结果

扩展总结

在实际开发中,我们更多使用的集合,关于集合的知识,可以看我这篇:大厂面试突进——集合篇

最后

独脚难行,孤掌难鸣,一个人的力量终究是有限的,一个人的旅途也注定是孤独的。当你定好计划,怀着满腔热血准备出发的时候,一定要找个伙伴,和唐僧西天取经一样,师徒四人团结一心才能通过九九八十一难。
所以,

如果你想学好Java

想进大厂

想拿高薪

想有一群志同道合的伙伴

请加入技术交流

本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%