首页 > 解决方案 > 乘法持久性的大 O 表示法?

问题描述

递归(或迭代)乘法持久性算法的时间和空间复杂度是多少?

在这种情况下,我们将每个数字相乘,直到我们得到一个数字,然后返回运行的次数。

function persistence(num) {
  const stringNum = String(num);
  if (String(num).length === 1) return 0;
  
  let newNum = 1;
  
  for (let i = 0; i < stringNum.length; i++) {
    newNum *= stringNum[i];
  }
  
  return 1 + persistence(newNum);
}

标签: recursionbig-o

解决方案


推荐阅读