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是的,因爲我想刪除多個項目。 –