小编McF*_*ork的帖子

解释为什么对长度为 N 的数字求和的时间复杂度为 O(logN)

这是代码:

int sumDigits(int n) {
    int sum = 0;

    while (n > 0) {
        sum += n % 10;
        n /= 10;
    }

    return sum;
}
Run Code Online (Sandbox Code Playgroud)

我了解此代码,并且该代码将取个位数字,将该数字与总和相加,然后删除该数字。它一直这样做直到 n 等于 0,此时它将返回 sum。直观地,运行时间将是数字 N 中的位数。但我不明白为什么这个时间复杂度是 O(logN)。我以为是O(N)。

即使有这样的解释:“具有 d 位数字的数字可以具有高达 10^d 的值。如果 n = 10^d,则 d = log n。因此运行时间是 O(logN)。” 不完全点击。

我遵循第一部分,如果 d 是 3,则 value < 10^d == value < 1000。意思是最大值为 999,长度为 3,我同意。但在那之后,当他们建立联系时,如果 n = 10^d,我不明白 1)他们如何知道要进行相等和 2)这如何使复杂性变为 O(logN) 而不是 O(N)。

algorithm runtime time-complexity

15
推荐指数
2
解决办法
5393
查看次数

解释为什么这个二叉树遍历算法的时间复杂度为 O(NlogN)?

我现在正在阅读 Cracking the Coding Interview 这本书,并且正在做一个二叉树练习。有一段代码是根据这本书的O(NlogN),但是,我不明白为什么会这样。我可以理解算法是否为O(N),但我不知道logN他们的分析中来自何处。

int getHeight(TreeNode root) {
    if (root == null) return -1; // Base case
    return Math.max(getHeight(root.left), getHeight(root.right)) + 1;
}

boolean isBalanced(TreeNode root) {
    if (root == null) return true; // Base case

    int heightDiff = getHeight(root.left) - getHeight(root.right);
    if (Math.abs(heightDiff) > 1) {
        return false;
    } else { 
        // Recurse
        return isBalanced(root.left) && isBalanced(root.right);
    }
}
Run Code Online (Sandbox Code Playgroud)

java algorithm time time-complexity

6
推荐指数
1
解决办法
1284
查看次数

ReactJS vs NodeJS-为什么需要同时创建两者?

我知道React是前端,而NodeJS是允许Javascript代码在浏览器之外运行的后端。我不理解的(这是在网上跟随有关设置React项目和NodeJS项目的教程之后)的原因,为什么我必须分别创建一个实例。

例如,在我的React项目中,我设法创建了一个网站。但是因为需要后端,所以我决定使用NodeJS。但是我正在做NodeJS教程,我也可以使用NodeJS创建一个网站。我很困惑,因为现在,它的出现到是反应,做的NodeJS了同样的事情

我之前从未使用过NodeJS,所以有点困惑。我给我的印象是,我只会使用NodeJS来托管后端,但是在看到我不得不使用NodeJS创建整个网站后,我不知道如何将React和NodeJS一起使用。

React和NodeJS两者如何集成在一起以创建功能全面的Web应用程序?我还没有看到在线的东西可以清楚地了解两者的相互作用。

javascript node.js reactjs

3
推荐指数
3
解决办法
2157
查看次数

无法使用 VueJS 渲染图像

我正在尝试使用 VueJS 用照片填充我的 index.html。我正在使用 iTunes API,并且返回链接正在返回图像的 URL。

我的问题是,我无法渲染照片。item是一个对象。

我试过这样做。但是,它会导致整个网页不显示(全白)。所以,这是完全错误的。最初, v-bind:src= 指向我文件夹中的一个图像。但我正在尝试动态获取 URL。

<div class="col-sm-4" style='max-width:200px;margin-right: 30px'>
    <img style='width: 120%; display: inline; ' v-bind:src="{{ item.artworkUrl100 }}">
</div>
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我实际上可以在我的网页上看到其余的数据。但是,图像不显示。

<div class="col-sm-4" style='max-width:200px;margin-right: 30px'>
     {{ item.artworkUrl100 }}
</div>
Run Code Online (Sandbox Code Playgroud)

我不确定如何使用 VueJS 语法将图像动态嵌入到我的网站中。

html css vue.js

2
推荐指数
1
解决办法
32
查看次数

标签 统计

algorithm ×2

time-complexity ×2

css ×1

html ×1

java ×1

javascript ×1

node.js ×1

reactjs ×1

runtime ×1

time ×1

vue.js ×1