题意整理

  • 给定一个二维数组。
  • 求数组中所有元素之和。

方法一(循环)

1.解题思路

  • 定义一个变量sum记录累加和。
  • 通过两层循环遍历数组中所有的元素,每轮循环将对应元素值累加到sum。

动图展示: alt

2.代码实现

public class Main {
    public static void main(String[] args)
    {
        int[][]  arr = {{11,33,55},{22,44,66,88},{131,214,315,146},{928,827,726,625},{424,525}};
        int sum=add(arr);
        System.out.println(sum);
    }
    public static int add(int[][] arr)
    {
        //记录数组元素之和
        int sum=0;

        //两层循环,遍历数组中所有元素
        int m=arr.length;
        for(int i=0;i<m;i++){
            for(int j=0;j<arr[i].length;j++){
                //将每一个元素值累加到sum
                sum+=arr[i][j];
            }
        }

        return sum;
    }
}

3.复杂度分析

  • 时间复杂度:假设二维数组有m行,最坏情况下,每行n个元素,所以时间复杂度为O(mn)O(m*n)
  • 空间复杂度:需要额外常数级别的空间,所以空间复杂度为O(1)O(1)