【问题标题】:Define the Time Complexity for the algorithm (Java)定义算法的时间复杂度 (Java)
【发布时间】:2022-12-04 10:52:36
【问题描述】:

我有以下 sn-p 代码:

public static long digPow(int n, int p) {
  int powCounter = p;
  int sum = 0;
  char[] digits = (""+n).toCharArray();

  for (char digit : digits) {
    sum += Math.pow(Character.getNumericValue(digit), powCounter);
    powCounter++;
  }

  if (sum % n == 0) return sum / n;
  else return -1;
}

我不明白如何定义时间复杂度,因为,即使我有一个循环,在我看来它不仅仅是 O(n)。或者它是?

【问题讨论】:

    标签: java algorithm time-complexity big-o


    【解决方案1】:

    它的 O(n),其中 n 是字符数组数字的长度。 由于循环将迭代 no 次,因此下一行是一个 if else 子句,它只会执行一次。

    【讨论】:

      猜你喜欢
      • 2012-02-25
      • 2018-01-11
      • 2012-09-16
      • 2012-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-31
      相关资源
      最近更新 更多