问题:输入:帐户=[[1,5],[7,3],[3,5]]输出:10
- 解释:
- 第一位客户的财富=6
- 第二位客户的财富=10
- 第三位客户的财富=8
第二位客户是最富有的,财富为10英镑。**以下是针对循环的解决方案
public int maximumWealth(int[][] accounts) {
int total_count = 0;
for (int j = 0; j < accounts.length; j++) {
int temp_count = 0;
for (int i = 0; i < accounts[0].length; i++) {
temp_count = accounts[j][i] + temp_count;
System.out.println(accounts[j][i]);
System.out.println("value of temp_count" + temp_count);
}
if (temp_count > total_count) {
total_count = temp_count;
System.out.println("value of total_count" + total_count)
}
}
return total_count;
}
以下是针对环路增强型的解决方案
class Solution {
public int maximumWealth(int[][] accounts) {
int total_count = 0;
for (int[] account: accounts) {
int temp_count = 0;
for (int item: account) {
temp_count = item + temp_count;
}
if (temp_count > total_count) {
total_count = temp_count;
}
}
return total_count;
}
}
for循环的两种形式都具有相同的时间复杂性,即O(n*m(。在中引入了增强的for循环,作为一种更简单的方式来迭代Collection的所有元素。它也可以用于数组,但这不是最初的目的。增强的for循环很简单,但不灵活。"增强"一词并不意味着增强for循环在时间复杂性方面得到了增强。这和for循环是一样的。