Py学习  »  Python

如何提高python代码的时间效率?

Ganesh • 5 年前 • 1705 次点击  

我试图执行的程序有以下问题声明:

程序必须接受n个整数,其中包含从1到n的整数 以任何顺序复制。程序必须打印丢失的 给定整数中从1到n的整数,升序为 输出。

例子:

输入: 5个

2 5 5 1 1年

输出:34

说明:5个整数中缺少整数3和4 2 5 5 11号。因此3和4被打印为输出

我的代码:

def modusoperandi(n, t):
    if str(n) not in t:
        yield n 

n = int(input())
t = tuple(sr for sr in input().split())
for i in range(1,n+1):
    for j in modusoperandi(i,t):
        print(j,end=' ')

但是,我的代码未能通过所有测试用例,因为对于输入量巨大的测试用例执行需要相当长的时间[需要500毫秒以上,这是时间限制]。

我试着用 时间 方法。特别的是,当元组中的元素数量增加时,对于给定的n,执行时间也会增加。我更喜欢元组而不是列表,因为它应该更有效。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/46979
 
1705 次点击  
文章 [ 4 ]  |  最新文章 5 年前