第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

回溯法中的恢復(fù)現(xiàn)場(chǎng),是在遞歸的每一步都恢復(fù),還是在遞歸完成后恢復(fù)

結(jié)合代碼理解的過(guò)程發(fā)現(xiàn),有恢復(fù)現(xiàn)場(chǎng)的代碼存在,是如何把結(jié)果打印下來(lái)的

if depth == len(data_list)+1:

? ? ? ? print(arranges)

? ? ? ? global total

? ? ? ? total += 1

? ? else:

? ? ? ? for data in datas:

? ? ? ? ? ? #1. 設(shè)置現(xiàn)場(chǎng)

? ? ? ? ? ? arranges.append(data)

? ? ? ? ? ? #2. 遞歸

? ? ? ? ? ? next_datas = datas[:]

? ? ? ? ? ? next_datas.remove(data)

? ? ? ? ? ? search(depth+1, next_datas)

? ? ? ? ? ? #3. 恢復(fù)現(xiàn)場(chǎng)

? ? ? ? ? ? arranges.pop()

這里恢復(fù)現(xiàn)場(chǎng)不是把a(bǔ)rranges.pop掉了,這樣遞歸完成后arranges應(yīng)該是空列表了把,? ?為什么print(arranges)的時(shí)候還能打印出來(lái)呢


正在回答

1 回答

注意arranges.pop()或者說(shuō)pop()這個(gè)函數(shù)只會(huì)彈出數(shù)組的最后一個(gè)元素,也就是說(shuō)會(huì)去掉你選的(遞歸開始的地方)上一個(gè)元素。所以遞歸完成后不一定是空列表。比如[1,2,3]? #1設(shè)置現(xiàn)場(chǎng) arrange = [1,2] #2.遞歸 next_datas = [3], 這一步也就只有一個(gè)元素可選,直接一種可能[1,2,3] ,#3 恢復(fù)現(xiàn)場(chǎng) arrange = [1],繼續(xù)設(shè)置下一個(gè)現(xiàn)場(chǎng)為[1,3]....

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
Python 算法面試難點(diǎn)攻堅(jiān)課--動(dòng)態(tài)規(guī)劃
  • 參與學(xué)習(xí)       3704    人
  • 解答問題       11    個(gè)

動(dòng)態(tài)規(guī)劃和遞歸作為算法中面試頻率很高,是我們這門課程重點(diǎn)攻克對(duì)象。

進(jìn)入課程

回溯法中的恢復(fù)現(xiàn)場(chǎng),是在遞歸的每一步都恢復(fù),還是在遞歸完成后恢復(fù)

我要回答 關(guān)注問題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)