Python編程500例——快速構建可執行高質量代碼

李永華

  • 出版商: 清華大學
  • 出版日期: 2023-06-01
  • 售價: $810
  • 貴賓價: 9.5$770
  • 語言: 簡體中文
  • 頁數: 566
  • 裝訂: 平裝
  • ISBN: 7302606323
  • ISBN-13: 9787302606321
  • 相關分類: Python程式語言
  • 立即出貨 (庫存 < 3)

  • Python編程500例——快速構建可執行高質量代碼-preview-1
  • Python編程500例——快速構建可執行高質量代碼-preview-2
  • Python編程500例——快速構建可執行高質量代碼-preview-3
Python編程500例——快速構建可執行高質量代碼-preview-1

買這商品的人也買了...

商品描述

本書通過500個實例,為讀者提供較為詳細的練習題目,以便讀者舉一反三,深度學習。本書實例涉 及的算法包括搜索、回溯、遞歸、排序、迭代、貪心、分治和動態規劃等;涉及的數據結構包括字符串、數組、 指針、區間、隊列、矩陣、堆棧、鏈表、哈希表、線段樹、二叉樹、二叉搜索樹和圖結構等。書中所有實例均以 問題描述、問題示例、代碼實現及運行結果的形式來編排。 本書語言簡潔,通俗易懂,適合作為Python編程人員的入門參考書,也適合作為高等院校相關專業 “Python算法實現”課程的參考教材。

目錄大綱

 

 

目錄

第1章入門100例

 

例1反轉一個3位整數

 

例2合並排序數組Ⅰ

 

例3旋轉字符串

 

例4相對排名

 

例5二分查找Ⅰ

 

例6下一個更大的數

 

例7字符串中的單詞數

 

例8勒索信

 

例9不重復的兩個數

 

例10雙胞胎字符串

 

例11最接近target的值

 

例12點積

 

例13函數運行時間

 

例14查詢區間

 

例15飛行棋

 

例16移動石子

 

例17數組剔除元素後的乘積

 

例18鍵盤的一行

 

例19第n個數位

 

例20找不同

 

例21第k個組合

 

例22平面列表

 

例23子域名訪問計數

 

例24最長AB子串

 

例25刪除字符

 

例26字符串寫入的行數

 

例27獨特的莫爾斯碼

 

例28比較字符串

 

例29能否轉換

 

例30經典二分查找問題

 

例31抽搐詞

 

例32排序數組中最接近元素

 

例33構造矩形

 

例34兩個排序數組合的第k小元素

 

例35玩具工廠

 

例36形狀工廠

 

例37二叉樹最長連續序列

 

例38首字母大寫

 

例39七進制

 

例40查找數組中沒有出現的所有數字

 

例41迴旋鏢的數量

 

例42合並排序數組Ⅱ

 

例43最小路徑和Ⅰ

 

例44大小寫轉換Ⅰ

 

例45原子的數量

 

例46矩陣中的最長遞增路徑

 

例47大小寫轉換Ⅱ

 

例48水仙花數

 

例49餘弦相似度

 

例50鏈表節點計數

 

例51最高頻的k個單詞

 

例52單詞的添加與查找

 

例53石子歸並

 

例54簡單計算器

 

例55數組第2大數

 

例56二叉樹葉子節點之和

 

例57二叉樹的某層節點之和

 

例58判斷尾數

 

例59兩個字符串是變位詞

 

例60最長單詞

 

例61機器人能否返回原點

 

例62鏈表倒數第n個節點

 

例63鏈表求和Ⅰ

 

例64刪除元素

 

例65克隆二叉樹

 

例66合並兩個排序鏈表

 

例67反轉整數

 

例68報數

 

例69完全二叉樹

 

例70對稱二叉樹

 

例71扭轉後等價的二叉樹

 

例72島嶼的個數

 

例73判斷是否為平方數之和

 

例74滑動窗口內數的和

 

例75總漢明距離

 

例76硬幣擺放

 

例77字母大小寫轉換

 

例78二進製表示中質數個計算置位

 

例79最少費用的爬台階方法

 

例80中心索引

 

例81詞典中最長的單詞

 

例82重復字符串匹配

 

例83不下降數組

 

例84最大的迴文乘積

 

例85補數

 

例86加熱器

 

例87將火柴擺放成正方形

 

例88可憐的豬

 

例89循環數組中的環

 

例90分餅乾

 

例91翻轉字符串中的元音字母

 

例92翻轉字符串

 

例93使數組元素相同的最少步數Ⅰ

 

例94加油站

 

例95春游

 

例96合法數組

 

例97刪除排序數組中的重復數字

 

例98字符串的不同排列

 

例99全排列Ⅰ

 

例100帶重復元素的排列

 

第2章提高200例

 

例101插入區間

 

例102n皇後問題Ⅰ

 

例103主元素Ⅰ

 

例104字符大小寫排序

 

例105上一個排列

 

例106下一個排列Ⅰ

 

例107二叉樹的層次遍歷

 

例108最長公共子串

 

例109最近公共祖先

 

例110k數和

 

例111有序鏈表轉換為二分查找樹

 

例112最長連續序列

 

例113背包問題Ⅰ

 

例114拓撲排序

 

例115克隆圖

 

例116不同的二叉查找樹

 

例117漢諾塔

 

例118圖中兩個點之間的路線

 

例119丟失的第1個正整數

 

例120尋找缺失的數

 

例121排列序號Ⅰ

 

例122排列序號Ⅱ

 

例123最多有k個不同字符的最長子串

 

例124第k個排列

 

例125飛機數

 

例126格雷編碼

 

例127迷你Cassandra

 

例128網絡日誌

 

例129柵欄染色

 

例130房屋染色

 

例131去除重復元素

 

例132左填充

 

例133負載均衡器

 

例134兩數和的最接近值

 

例135打劫房屋

 

例136左旋右旋迭代器

 

例137n數組第k大元素

 

例138前k大數

 

例139計數型布隆過濾器

 

例140字符計數

 

例141最長重復子序列

 

例142僵屍矩陣

 

例143攤平二維向量

 

例144第k大元素

 

例145兩數和小於或等於目標值

 

例146兩數差等於目標值

 

例147騎士的最短路線

 

例148k個最近的點

 

例149優秀成績

 

例150二叉樹的最長連續子序列Ⅰ

 

例151二叉樹的最長連續子序列Ⅱ

 

例152課程表Ⅰ

 

例153安排課程

 

例 154單詞表示數字

 

例155最大子序列的和

 

例156移除子串

 

例157數組劃分

 

例158矩形重疊

 

例159最長迴文串

 

例160最大子樹

 

例161最小生成樹

 

例162騎士的最短路徑

 

例163最大矩陣

 

例164二叉樹的最大節點

 

例165尋找重復的數

 

例166拼字游戲

 

例167132模式識別

 

例168檢查縮寫字

 

例169一次編輯距離

 

例170數據流滑動窗口平均值

 

例171最長絕對文件路徑

 

例172識別名人

 

例173第一個獨特字符位置

 

例174子串字謎

 

例175單詞縮寫集

 

例176二叉樹翻轉

 

例177二叉樹垂直遍歷

 

例178因式分解

 

例179從集合中插入或移除元素

 

例180編碼和解碼字符串

 

例181猜數游戲Ⅰ

 

例182數1的個數

 

例183平面範圍求和——不可變矩陣

 

例184猜數游戲Ⅱ

 

例185最長的迴文序列

 

例1861和0

 

例187預測能否勝利

 

例188循環單詞

 

例189最大子數組之和為k

 

例190等差切片

 

例1912D戰艦

 

例192連續數組

 

例193帶有冷卻時間的買賣股票最佳時間

 

例194小行星的碰撞

 

例195擴展彈性詞

 

例196找到最終的安全狀態

 

例197使序列遞增的最小交換次數

 

例198所有可能的路徑

 

例199合法的井字棋狀態

 

例200滿足要求的子串個數

 

例201多米諾和三格骨牌鋪磚問題

 

例202逃離幽靈

 

例203尋找最便宜的航行旅途(最多經過k個中轉站)

 

例204圖是否可以被二分

 

例205森林中的兔子

 

例206最大分塊排序

 

例207分割標簽

 

例208網絡延遲時間

 

例209洪水填充

 

例210映射配對之和

 

例211最長升序子序列的個數

 

例212最大的交換

 

例213將數組拆分成含有連續元素的子序列

 

例214Dota2參議院

 

例215合法的三角數

 

例216在系統中找到重復文件

 

例217兩個字符串的刪除操作

 

例218下一個更大的元素

 

例219最優除法

 

例220通過刪除字母匹配到字典里最長單詞

 

例221尋找樹中最左下節點的值

 

例222出現頻率最高的子樹和

 

例223尋找BST的modes

 

例224對角線遍歷

 

例225提莫攻擊

 

例226目標和

 

例227升序子序列

 

例228神奇字符串

 

例229爆破氣球的最小箭頭數

 

例230查找數組中的所有重復項

 

例231最小基因變化

 

例232替換後的最長重復字符

 

例233從英文中重建數字

 

例234數組中兩個數字的最大異或

 

例235根據身高重排隊列

 

例236左葉子的和

 

例237移除k位

 

例238輪轉函數

 

例239字符至少出現k次的最長子串

 

例240消除游戲

 

例241有序矩陣中的第k小元素

 

例242超級冪次

 

例243水罐問題

 

例244計算不同數字整數的個數

 

例245最大乘積路徑

 

例246矩陣找數

 

例247路徑數計算

 

例248卡牌游戲Ⅰ

 

例249詞頻統計

 

例250查找子數組

 

例251最小子矩陣

 

例252最佳購物計劃

 

例253詢問冷卻時間

 

例254樹上最長路徑

 

例255取數游戲

 

例256數組求和

 

例257最短短語

 

例258頻率最高的詞

 

例259判斷三角形

 

例260最大矩陣邊界和

 

例261卡牌游戲Ⅱ

 

例262停車問題

 

例263爬樓梯

 

例264最小字符串

 

例265目的地的最短路徑

 

例266毒藥測試

 

例267社交網絡

 

例268前k高的基點

 

例269尋找最長01子串

 

例270合法字符串

 

例271葉節點的和

 

例272轉換字符串

 

例273最少按鍵次數

 

例274二分查找Ⅱ

 

例275全排列Ⅱ

 

例276最小路徑和Ⅱ

 

例277最長路徑序列

 

例278背包問題Ⅱ

 

例279哈希函數

 

例280第1個只出現1次的字符

 

例281空格替換

 

例282字符串壓縮

 

例283數組的最大值

 

例284無序鏈表的重復項刪除

 

例285在O(1)時間復雜度刪除鏈表節點

 

例286將數組重新排序以構造最小值

 

例287兩個鏈表的交叉

 

例288螺旋矩陣

 

例289三角形計數

 

例290買賣股票的最佳時機

 

例291加1

 

例292炸彈襲擊

 

例293組合總和

 

例294向循環有序鏈表插入節點

 

例295大島的數量

 

例296最短迴文串

 

例297不同的路徑

 

例298分割字符串

 

例299缺失的第1個素數

 

例300單詞拆分

 

第3章鞏固200例

 

例301單例模式

 

例302字符串置換

 

例303字符串替換

 

例304用isSubstring判斷字符串的循環移動

 

例305能否到達終點

 

例306成績等級

 

例307在排序鏈表中插入一個節點

 

例308getter與setter

 

例309用一個數組實現3個棧

 

例310在鏈表中找節點

 

例311棧集

 

例312鏈表的中點

 

例313棧排序

 

例314寵物收養所

 

例315自動補全

 

例316短網址

 

例317擁有同樣多1的下一個數

 

例318分解質因數

 

例319交換奇偶二進制位

 

例320丟失的數

 

例321黑白屏

 

例322方程的根

 

例323轉換字符串到整數

 

例324將二叉樹按照層級轉化為鏈表

 

例325相親數

 

例326二叉樹的路徑和Ⅰ

 

例327二叉樹的路徑和Ⅱ

 

例328丟雞蛋

 

例329建立郵局

 

例330湊n分錢的方案數

 

例331三數之中的最大值

 

例332接雨水

 

例333將表達式轉換為波蘭表達式

 

例334將二叉樹轉換成雙鏈表

 

例335將數組重新排列以構建最小值

 

例336動態數組ArrayList

 

例337找峰值

 

例338最長上升連續子序列

 

例339連續子數組求和

 

例340子數組求和

 

例341找無向圖的連通塊

 

例342硬幣排成線

 

例343檢驗互聯網協議(Internet Protocol,IP)地址

 

例344環繞字符串中的唯一子串

 

例345使數組元素相同的最少步數Ⅱ

 

例346重復的子串模式

 

例347恢復二叉搜索樹

 

例348數組中最大的差值

 

例349判斷是否可以寫成k個素數之和

 

例350桿子分割

 

例351二進制手錶

 

例352數據分段

 

例3531位和2位字符

 

例354加法數

 

例355具有交替位的二進制數

 

例356美麗的排列

 

例357最大值在界內的子數組個數

 

例358全局和局部逆序數

 

例359整數拆分

 

例360遞增的三元子序列

 

例361重新安排行程

 

例362奇偶鏈表

 

例363區間和的個數

 

例3643的冪

 

例365單詞長度最大積

 

例366矩陣註水

 

例367最大值

 

例368生成括號

 

例369餘積

 

例370前一個數

 

例371稱重問題

 

例372樹中距離的總和

 

例373訂單問題

 

例374LFU緩存

 

例375音樂播放表

 

例376階乘

 

例377解碼方式

 

例378最大樹

 

例379單詞搜索

 

例380LRU緩存策略

 

例381圖書復印

 

例382二進製表示

 

例383解碼方法

 

例384數組最大價值

 

例385最大字數組

 

例386青蛙跳

 

例387二叉搜索樹中最接近的值

 

例388k步編輯

 

例389字符串生成器Ⅰ

 

例390單詞合成問題

 

例391最長數列

 

例392拆分子數組

 

例393停車場

 

例394擺動排序問題Ⅰ

 

例395實現前綴樹(Trie)

 

例396Geo哈希Ⅰ

 

例397Geo哈希Ⅱ

 

例398友誼服務

 

例399DNA重復問題

 

例400字模式

 

例401字符同構

 

例402課程表Ⅱ

 

例403吹氣球

 

例404k個空的位置

 

例405逆序對

 

例406任務調度器

 

例407下一個排列Ⅱ

 

例408範圍加法

 

例409n皇後問題Ⅱ

 

例410用遞歸打印數字

 

例411推薦朋友

 

例412螺母(Nuts)和螺栓(Bolts)的問題

 

例413Fizz Buzz問題

 

例414通配符匹配

 

例415最大子矩陣

 

例416更新二進制位

 

例417兩個數組最小差問題

 

例418單詞反轉

 

例4194的冪

 

例420a+b問題

 

例421尾部的零

 

例422移動的圓

 

例423列表扁平化

 

例424判斷數字與字母字符

 

例425打印X

 

例426內積

 

例427abc串

 

例428最大子數組Ⅰ

 

例429最大子數組Ⅱ

 

例430最小子數組

 

例431最大子數組差

 

例432k數之和

 

例433用O(1)時間檢測整數n是否為2的冪

 

例434最大數

 

例435插入5

 

例436尋找單詞

 

例437判斷連接

 

例438冰雹猜想

 

例439鏈表求和Ⅱ

 

例440程序檢查

 

例441特殊迴文字符串

 

例442數組壓縮

 

例443等差矩陣

 

例444堆化操作

 

例445顏色分類

 

例446最長有效括號

 

例447分糖果

 

例448URL編碼

 

例449多字符串查找

 

例450最大訂單

 

例451最長字符串鏈

 

例452地圖跳躍

 

例453查找最大因子

 

例454矩陣斜線上元素相同

 

例455最大連通面積

 

例456小括號匹配

 

例457通用子數組個數

 

例458最大非負子序和

 

例459最短休息日

 

例460括號得分

 

例461雙色塔

 

例462考試策略

 

例463移動車棚

 

例464另一個祖瑪游戲

 

例465羅馬數字轉整數

 

例466兩個整數相除

 

例467滑動窗口的最大值

 

例468鏡像數字

 

例469直方圖中最大矩形面積

 

例470最長迴文子串

 

例471亂序字符串

 

例472交叉字符串

 

例473迴文鏈表

 

例474鏈表插入排序

 

例475具有最大平均數的子樹

 

例476高度平衡二叉樹

 

例477主元素Ⅱ

 

例478單詞矩陣

 

例479電話號碼的字母組合

 

例480會議室

 

例481無重疊區間

 

例482表達式求值

 

例483翻轉游戲

 

例484迷宮

 

例485擺動排序問題Ⅱ

 

例486排顏色

 

例487按照顏色對數組排序

 

例488簡化路徑

 

例489換硬幣

 

例490俄羅斯套娃信封

 

例491木材加工

 

例492判斷數獨是否合法

 

例493斐波那契數列

 

例494用棧模擬漢諾塔問題

 

例495字符串生成器Ⅱ

 

例496移動零問題

 

例497尋找數據錯誤

 

例498找到映射序列

 

例499旋轉圖像

 

例500太平洋和大西洋的水流