首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >定义算法的时间复杂度(Java)

定义算法的时间复杂度(Java)
EN

Stack Overflow用户
提问于 2022-12-03 14:27:28
回答 1查看 30关注 0票数 2

我有以下代码片段:

代码语言:javascript
复制
public static int 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)。或者是真的?

EN

回答 1

Stack Overflow用户

发布于 2022-12-03 14:30:28

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74667613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档