gpt4 book ai didi

来自 Cracking the Coding Interview 的算法似乎做错了什么

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:32:34 25 4
gpt4 key购买 nike

我是一名 CS 学生,大约一周前我买了破解编码面试。我只是在 Big O 章节,我发现了一种算法,据说可以对数字中的数字求和;乍一看,它看起来很困惑,所以我用 Python 运行了它,但它没有按预期运行。看看:

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

据我了解,这段代码实际上并没有返回给定数字的数字总和,是吗?我真的很想看看它是如何做到这一点的,但由于我在 Python 中尝试的示例不起作用,我真的看不出它是如何工作的。

最佳答案

此算法取决于 n/= 10integer division (即 5/2 === 2)。如果你使用的是 Python 3,你需要使用 // 所以它应该看起来像这样:

def sumDigits(n):
sum = 0
while n > 0:
sum += n % 10
n //= 10 # integer division

return sum

sumDigits(123) # 6

关于来自 Cracking the Coding Interview 的算法似乎做错了什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51507881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com