1
我写了一个函数来删除给定列表中指定的项目。降低程序的时间复杂度
def remove_given_elements(arr1) :
b = []
x = int(input("Enter the number of items to be removed :"))
for i in range(x) :
y = int(input("Enter the position to be removed :"))
b.append(y)
arr3 = []
pos = 0
for i in range(len(arr1)) :
arr3.append(arr1[i])
for j in range(len(b)):
if pos == b[j]:
arr3.pop(b[j])
arr3.append(None)
pos += 1
arr4 = []
for i in arr3:
if i != None :
arr4.append(i)
return arr4
a = [100,200,323,434,512,656]
print("After removing elements",remove_given_elements(a))
输出:
Enter the number of items to be removed :3
Enter the position to be removed :1
Enter the position to be removed :3
Enter the position to be removed :4
After removing elements [100, 323, 656]
至于,我是新来编程。我真的不知道有什么方法来减少我最坏的情况下的时间复杂度。任何形式的帮助表示赞赏或请指导我使用减少时间复杂性的适当方法。
你需要指定项目的金额将被删除? – Eduardo
@Eduardo是的,因为我想删除多个项目。 –