gpt4 book ai didi

python - 如何处理python中过大的输入?

转载 作者:太空宇宙 更新时间:2023-11-04 00:52:33 26 4
gpt4 key购买 nike

我是初学者,我正在练习一个关于 hackerrank 的问题。我将此代码编写为大输入超时问题的一部分:

    K = int(input())
roomnos = input().split()
setroomnos = set(roomnos)
for r in setroomnos:
if roomnos.count(r) == 1:
print(r)
break

下一个被法官接受的所有测试用例

    K = int(input())
roomnos = [int(i) for i in input().split()]
setroomnos = set(roomnos)
c = (K * sum(setroomnos) - sum(roomnos)) // (K - 1)
print(c)

你能解释一下为什么第一个输入大时超时而第二个工作正常吗PS: 最基本的操作是找到一个在列表中只出现一次的 no 而不是其他出现 K 次的 no

最佳答案

您的第一个解决方案使用 O(n) for,其中包含 O(n) count - 导致 O(n^2) 复杂度。您的第二个示例没有以这种方式嵌套操作,因此复杂度为 O(n)。

关于python - 如何处理python中过大的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36549640/

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