我最近開始學習編程,剛剛完成了edX課程。我正試圖解決HackerRank上的this問題,並且在每種情況下都耗盡了時間。我究竟做錯了什麼?我的遞歸實現有什麼問題?
n,k = input().strip().split(' ')
n,k = [int(n),int(k)]
x = [int(x_temp) for x_temp in input().strip().split(' ')]
x.sort()
def transmitter(aList=[], target=0):
'''
accepts a list of house location, and a target location for the transmitter
returns the optimal number of transmitters required to cover all the houses
'''
List = aList[:]
start = target - k
end = target + k + 1
for i in range(start, end):
if i in List:
List.remove(i)
if not List:
return 1
m = max(List)
for e in List:
if transmitter(List, e) < m:
m = transmitter(List, e)
return 1 + m
m = max(x)
for e in x:
if transmitter(x, e) < m:
m = transmitter(x, e)
print(m)
我對此很新穎。對不起,有任何明顯的錯誤,或在這裏發佈這裏,以防這不適合的網站。在這種情況下,如果你能推薦一個我可以問這樣的問題的網站,這將會非常有幫助。
the screenshot of the question
時間(參考你的問題)和空間(參考你的標題)是兩個不同的維度(不想進入時空連續體辯論)。 – trincot
@trincot但我認爲我的時間不夠用了,因爲我的解決方案太昂貴了。 – codeNoob
我無法找到問題的描述。看起來URL不再有效。你可以添加描述嗎? – trincot