原创 劍指offer面試題63. 股票的最大利潤(動態規劃)

題目描述 假設把某股票的價格按照時間先後順序存儲在數組中,請問買賣該股票一次可能獲得的最大利潤是多少? 思路 詳見鏈接 代碼 class Solution: def maxProfit(self, prices:List[in

原创 劍指offer面試題61. 撲克牌中的順子(排序)(遍歷)

題目描述 從撲克牌中隨機抽5張牌,判斷是不是一個順子,即這5張牌是不是連續的。2~10爲數字本身,A爲1,J爲11,Q爲12,K爲13,而大、小王爲 0 ,可以看成任意數字。A 不能視爲 14。 思路 詳見鏈接 代碼 class

原创 Sklearn專題實戰——針對Category特徵進行分類

文章目錄1.前言2.數據處理3.模型構建3.1.支持向量機3.2.貝葉斯4.網格搜索尋找最優結果5.保存模型+提取模型6.混淆矩陣查看分類效果 1.前言 上次回我們是對文本進行情感分類,這次將實戰一個稍微複雜的Category分類

原创 劍指offer面試題64. 求1+2+…+n(邏輯符短路)(遞歸)

題目描述 求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。 思路 詳見鏈接 代碼 class Solution: def __init_

原创 劍指offer面試題65. 不用加減乘除做加法(位運算)

題目描述 寫一個函數,求兩個整數之和,要求在函數體內不得使用 “+”、“-”、“*”、“/” 四則運算符號。 思路 詳見鏈接 代碼 class Solution: def add(self, a:int, b:int)->in

原创 劍指offer面試題66. 構建乘積數組

題目描述 給定一個數組 A[0,1,…,n-1],請構建一個數組 B[0,1,…,n-1],其中 B 中的元素 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。 思路 詳見鏈接 代碼

原创 Sklearn專題實戰——數據處理+模型構建+網格搜索+保存(提取)模型

文章目錄1.前言2.數據處理3.模型構建3.1.支持向量機3.2.決策樹3.3.邏輯迴歸4.網格搜索尋找最優結果5.保存模型+提取模型 1.前言 針對Sklearn在前面已經通過代碼實戰講解了其中的各個主要模塊,現在將從整體的角度

原创 劍指offer面試題58 - II. 左旋轉字符串(切片)(一行代碼)

題目描述 字符串的左旋轉操作是把字符串前面的若干個字符轉移到字符串的尾部。請定義一個函數實現字符串左旋轉操作的功能。比如,輸入字符串"abcdefg"和數字2,該函數將返回左旋轉兩位得到的結果"cdefgab"。 思路 詳見鏈接

原创 劍指offer面試題58 - I. 翻轉單詞順序(雙指針)

題目描述 輸入一個英文句子,翻轉句子中單詞的順序,但單詞內字符的順序不變。爲簡單起見,標點符號和普通字母一樣處理。例如輸入字符串"I am a student. “,則輸出"student. a am I”。 思路 詳見鏈接 代

原创 劍指offer面試題55 - I. 二叉樹的深度(DFS)(遞歸)

題目描述 輸入一棵二叉樹的根節點,求該樹的深度。從根節點到葉節點依次經過的節點(含根、葉節點)形成樹的一條路徑,最長路徑的長度爲樹的深度。 思路 詳見鏈接 代碼 class Solution: def maxDepth(sel

原创 劍指offer面試題55 - II. 平衡二叉樹(後序遍歷)(剪枝)

題目描述 輸入一棵二叉樹的根節點,判斷該樹是不是平衡二叉樹。如果某二叉樹中任意節點的左右子樹的深度相差不超過1,那麼它就是一棵平衡二叉樹。 思路 詳見鏈接 代碼 class Solution: def isBalanced(s

原创 劍指offer面試題54. 二叉搜索樹的第k大節點(逆中序遍歷)

題目描述 給定一棵二叉搜索樹,請找出其中第k大的節點。 思路 詳見鏈接 代碼 class Solution: def kthLargest(self, root:TreeNode, k:int)->int: def dfs

原创 劍指offer面試題52. 兩個鏈表的第一個公共節點(雙指針法)

題目描述 輸入兩個鏈表,找出它們的第一個公共節點。 思路 詳見鏈接 代碼 class Solution: def getIntersectionNode(self, headA:ListNode, headB:ListNode

原创 劍指offer面試題50. 第一個只出現一次的字符(哈希表)

題目描述 在字符串 s 中找出第一個只出現一次的字符。如果沒有,返回一個單空格。 s 只包含小寫字母。 思路 詳見鏈接 代碼 class Solution: def firstUniqueChar(self, s:str)->

原创 劍指offer面試題47. 禮物的最大價值(動態規劃)

題目描述 在一個 m*n 的棋盤的每一格都放有一個禮物,每個禮物都有一定的價值(價值大於 0)。你可以從棋盤的左上角開始拿格子裏的禮物,並每次向右或者向下移動一格、直到到達棋盤的右下角。給定一個棋盤及其上面的禮物的價值,請計算你最