原创 劍指offer系列-面試題48. 最長不含重複字符的子字符串(python)

文章目錄1. 題目2. 解題思路2.1 暴力法2.2 滑動窗口2.3 優化的滑動窗口(雙指針+hash表)2. 動態規劃3. 代碼實現3.1 暴力法3.2 滑動窗口3.3 滑動窗口+hash表3.4 動態規劃4. 總結5. 參考文

原创 劍指offer系列-面試題45 - 把數組排成最小的數(python)

文章目錄1. 題目2. 解題思路2.2 書中的思路3. 代碼實現3.24. 總結5. 參考文獻 1. 題目 輸入一個正整數,把數組中裏所有數字拼接起來排成一個數,打印能拼接出的所有數字中最小的一個。例如,輸入數組{3,32,32

原创 劍指offer系列-面試題51. 數組中的逆序對(python)

文章目錄1. 題目2. 解題思路2.1 暴力法2.3 動態規劃2.3 分治思想(藉助歸併排序統計逆序數)3. 代碼實現3.1 暴力法3.2 動態規劃3.3 分治思想(藉助歸併排序統計逆序數)4. 總結5. 參考文獻 1. 題目

原创 劍指offer系列-面試題- 53- 2 - 0~n-1中缺失的數字 (python)

文章目錄1. 題目2. 解題思路2. 1暴力法2. 2 二分法3. 代碼實現3.1 暴力法3.24. 總結5. 參考文獻 1. 題目 一個長度爲n-1的遞增排序數組中的所有數字都是唯一的,並且每個數字都在範圍0~n-1之內。在範

原创 劍指offer系列-面試題-面試題66. 構建乘積數組(python)

文章目錄1. 題目2. 解題思路2.1 暴力法2.2 兩次遍歷3. 代碼實現3.0 暴力法3.1兩次遍歷4. 總結5. 參考文獻 1. 題目 給定一個數組 A[0,1,…,n-1],請構建一個數組 B[0,1,…,n-1],其中

原创 劍指offer系列-面試題-68 - I. 二叉搜索樹的最近公共祖先 (python)

文章目錄1. 題目2. 解題思路3. 代碼實現3.1 迭代3.2 遞歸4. 總結5. 參考文獻 1. 題目 給定一個二叉搜索樹, 找到該樹中兩個指定節點的最近公共祖先。 百度百科中最近公共祖先的定義爲:“對於有根樹 T 的兩

原创 劍指offer系列-面試題-17 - 打印1到最大的n位數 (python)

文章目錄1. 題目2. 解題思路3. 代碼實現3.1 無意義解法3.2 考慮大數問題4. 總結5. 參考文獻 1. 題目 輸入數字n,按順序打印出從1到最大的n位十進制數。比如輸入3,則打印1、2、3一直到最大的3位數999。

原创 劍指offer系列-面試題-面試題68 - II. 二叉樹的最近公共祖先 (python)

文章目錄1. 題目2. 解題思路3. 代碼實現3.0 路徑比較3.1 遞歸4. 總結5. 參考文獻 1. 題目 給定一個二叉樹, 找到該樹中兩個指定節點的最近公共祖先。 百度百科中最近公共祖先的定義爲:“對於有根樹 T 的兩

原创 劍指offer系列-面試題63. 股票的最大利潤(python)

文章目錄1. 題目2. 解題思路3. 代碼實現3.13.2 優化4. 總結5. 參考文獻 1. 題目 假設把某股票的價格按照時間先後順序存儲在數組中,請問買賣該股票一次可能獲得的最大利潤是多少? 2. 解題思路 詳情見 面試題

原创 劍指offer系列-面試題-19 - 正則表達式匹配(python)

文章目錄1. 題目2. 解題思路3. 代碼實現3.1 回溯3.2 動態規劃4. 總結5. 參考文獻 1. 題目 請實現一個函數用來匹配包含’.‘和’‘的正則表達式。模式中的字符’.‘表示任意一個字符,二’'表示它前面的字符可以出

原创 劍指offer系列-面試題-面試題55 - I. 二叉樹的深度(python)

文章目錄1. 題目2. 解題思路2.1 遞歸2.2 廣度優先遍歷(BFS)3. 代碼實現3.1 遞歸3.2 BFS4. 總結5. 參考文獻 1. 題目 輸入一棵二叉樹的根節點,求該樹的深度。從根節點到葉節點依次經過的節點(含根、

原创 劍指offer系列-面試題67. 把字符串轉換成整數 (python)

文章目錄1. 題目2. 解題思路3. 代碼實現3.1 渣渣的3.1 大佬的4. 總結5. 參考文獻 1. 題目 寫一個函數 StrToInt,實現把字符串轉換成整數這個功能。不能使用 atoi 或者其他類似的庫函數。 首先,該

原创 劍指offer系列-面試題64. 求1+2+…+n(python)

文章目錄1. 題目2. 解題思路2.1 使用庫函數2.2 邏輯符短路3. 代碼實現3.1 使用庫函數3.2 邏輯符短路3.3 優化4. 總結5. 參考文獻 1. 題目 求 1+2+…+n ,要求不能使用乘除法、for、while

原创 劍指offer系列-面試題56 - I. 數組中數字出現的次數 (python)

文章目錄1. 題目2. 解題思路如果數組中只有1個只出現一次的數字將數組分爲兩部分3. 代碼實現3.1 分組異或4. 總結5. 參考文獻 1. 題目 一個整型數組 nums 裏除兩個數字之外,其他數字都出現了兩次。請寫程序找出這

原创 劍指offer系列-面試題57. 和爲s的兩個數字(python)

文章目錄1. 題目2. 解題思路2.1 哈希法2.2 對撞雙指針3. 代碼實現3.1 哈希法3.2 對撞雙指針4. 總結5. 參考文獻 1. 題目 輸入一個遞增排序的數組和一個數字s,在數組中查找兩個數,使得它們的和正好是s。如