《啊哈阿浓!算法》學習 - Python筆記

最常用的排序 -- 快速排序

def quickSort(array):
    smaller = []
    greater = []
    if len(array) <= 1:
        return array
    base = array.pop()
    for x in array:
        if x < base:
            smaller.append(x)
        else:
            greater.append(x)
    return quickSort(smaller) + [base] + quickSort(greater)
arrayList = [9, 12, 25, 5, 21, 3, 7, 11, 85]
quickSort(arrayList)
[3, 5, 7, 9, 11, 12, 21, 25, 85]

解密QQ號 -- 隊列

def extractQQNumber(qq, result=[]):
    """
    Python技巧:利用Python默認參數(shù)再次調(diào)用不重新計算的特性獲得返回值
    (參考《編寫高質(zhì)量代碼 改善Python程序的91個建議》建議32:警惕默認參數(shù)潛在的問題)
    """
    num = qq.pop(0)
    result.append(num)
    if len(qq) > 0:
        num = qq.pop(0)
        qq.append(num)
        extractQQNumber(qq)
    return result
qq = '631758924'
extractQQNumber([i for i in qq])
['6', '1', '5', '9', '4', '7', '2', '8', '3']

坑爹的奧數(shù):口口口+口口口=口口口

代碼參考網(wǎng)上的,原諒我自己不太理解蹋绽“疟校《啊哈!算法》中深度優(yōu)先搜索基本模型已經(jīng)體現(xiàn)了卸耘。

perm_lst = []
def permutation(lst):
    if lst == []:                               # 判斷邊界
        if perm_lst[0]*100 + perm_lst[1]*10 + perm_lst[2] + perm_lst[3]*100 + perm_lst[4]*10 + perm_lst[5] == perm_lst[6]*100 + perm_lst[7]*10 + perm_lst[8]:
            print(perm_lst)
    else:
        for elem in lst:                 # 嘗試每一種可能
            perm_lst.append(elem)
            rest_lst = lst[:]
            rest_lst.remove(elem)
            permutation(rest_lst)        # 繼續(xù)下一步
            perm_lst.pop()               # 回收
## 測試         
permutation([i for i in range(1, 10)])
## 輸出結(jié)果:
[1, 2, 4, 6, 5, 9, 7, 8, 3]
[1, 2, 5, 7, 3, 9, 8, 6, 4]
[1, 2, 7, 3, 5, 9, 4, 8, 6]
···

[7, 8, 3, 1, 6, 2, 9, 4, 5]
[7, 8, 4, 1, 5, 2, 9, 3, 6]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末退敦,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蚣抗,更是在濱河造成了極大的恐慌苛聘,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異设哗,居然都是意外死亡唱捣,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門网梢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來震缭,“玉大人,你說我怎么就攤上這事战虏〖鹪祝” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵烦感,是天一觀的道長巡社。 經(jīng)常有香客問我,道長手趣,這世上最難降的妖魔是什么晌该? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮绿渣,結(jié)果婚禮上朝群,老公的妹妹穿的比我還像新娘。我一直安慰自己中符,他們只是感情好姜胖,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著淀散,像睡著了一般右莱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上档插,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天慢蜓,我揣著相機與錄音,去河邊找鬼阀捅。 笑死,一個胖子當著我的面吹牛针余,可吹牛的內(nèi)容都是我干的饲鄙。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼圆雁,長吁一口氣:“原來是場噩夢啊……” “哼忍级!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起伪朽,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤轴咱,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體朴肺,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡窖剑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了戈稿。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片西土。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖鞍盗,靈堂內(nèi)的尸體忽然破棺而出需了,到底是詐尸還是另有隱情,我是刑警寧澤般甲,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布肋乍,位于F島的核電站,受9級特大地震影響敷存,放射性物質(zhì)發(fā)生泄漏墓造。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一历帚、第九天 我趴在偏房一處隱蔽的房頂上張望滔岳。 院中可真熱鬧,春花似錦挽牢、人聲如沸谱煤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽刘离。三九已至,卻和暖如春睹栖,著一層夾襖步出監(jiān)牢的瞬間硫惕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工野来, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留恼除,地道東北人。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓曼氛,卻偏偏與公主長得像豁辉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子舀患,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理报账,服務發(fā)現(xiàn)底扳,斷路器绒净,智...
    卡卡羅2017閱讀 134,601評論 18 139
  • 四. 走向世界之巔——快速排序 你可能會以為歸并排序是最強的算法了霍转,其實不然现使。回想一下旷痕,歸并的時間效率雖然高碳锈,但空...
    Leesper閱讀 1,614評論 9 7
  • 《那些人人都懂的銷售技巧殴胧,你就別再用了》作者是河瀨和幸,日本千葉大學的客座教授佩迟,東急HANDS商城首席銷售培訓師团滥,...
    真阿當閱讀 3,033評論 3 15
  • 獨處是有好處的,這個好處是害怕孤獨的人體會不到的报强。不甘孤獨的人喜歡把自己塞進人群里灸姊,疲憊地享受著騷亂,麻痹著自己的...
    幽人獸閱讀 689評論 0 1
  • 一束水花里噙著十二枝火種 犁頭破開了萬年凍土 三色鴿惶惶的從水面掠過 水岸邊繁花草盛 那里站著三個姑娘 三個姑娘青...
    三勢閱讀 151評論 -2 9