想知道下面两个解决方案的时间复杂性[增强-针对循环解决方案vs针对循环解决解决方案]



问题:输入:帐户=[[1,5],[7,3],[3,5]]输出:10

  • 解释:
  1. 第一位客户的财富=6
  2. 第二位客户的财富=10
  3. 第三位客户的财富=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循环是一样的。

相关内容

  • 没有找到相关文章

最新更新