原创 leetcode213.打家劫舍 II

題目: 你是一個專業的小偷,計劃偷竊沿街的房屋,每間房內都藏有一定的現金。這個地方所有的房屋都圍成一圈,這意味着第一個房屋和最後一個房屋是緊挨着的。同時,相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統

原创 leetcode337.打家劫舍 III

題目: 在上次打劫完一條街道之後和一圈房屋後,小偷又發現了一個新的可行竊的地區。這個地區只有一個入口,我們稱之爲“根”。 除了“根”之外,每棟房子有且只有一個“父“房子與之相連。一番偵察之後,聰明的小偷意識到“這個地方的所有房屋的排

原创 leetcode309.最佳買賣股票時機含冷凍期

題目: 給定一個整數數組,其中第 i 個元素代表了第 i 天的股票價格 。​ 設計一個算法計算出最大利潤。在滿足以下約束條件下,你可以儘可能地完成更多的交易(多次買賣一支股票): 你不能同時參與多筆交易(你必須在再次購買前出售掉之前

原创 語音與語言處理筆記——6HMM & maximum entropy

markov chains 也稱作可觀察馬爾可夫模型,和HMM一樣,是一種加權有限狀態自動機,每個狀態所有弧上的概率求和爲1。表示一種概率圖模型。 可以用初始狀態、轉移概率、有限狀態集得到一個序列。 hmm 有限狀態集、轉移概率、

原创 leetcode91.解碼方法

題目: 一條包含字母 A-Z 的消息通過以下方式進行了編碼: ‘A’ -> 1 ‘B’ -> 2 … ‘Z’ -> 26 給定一個只包含數字的非空字符串,請計算解碼方法的總數。 示例: 示例 1: 輸入: “12” 輸出: 2 解釋

原创 語音與語言處理筆記——9.語音識別

語音識別系統結構 語音識別中HMM的應用 特徵提取:MFCC computing acounstic likelihoods計算聲學似然度 字典和語言模型 search and decoding搜索解碼 embedded train

原创 leetcode70.爬樓梯

題目: 假設你正在爬樓梯。需要 n 階你才能到達樓頂。 每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢? 注意:給定 n 是一個正整數。 示例: 示例 1: 輸入: 2 輸出: 2 解釋: 有兩種方法可以爬到樓

原创 動態規劃

遞歸 記憶化搜索存儲,自上而下的解決問題,有遞歸調用 自下而上思考問題,動態規劃。 動態規劃: 將原問題拆解成若干子問題,同時保存子問題的答案,使得每個子問題只求解一次,最終獲得原問題的答案。 最優子結構: 通過求子問題的最優解,可

原创 leetcode216.組合總和 III

題目: 找出所有相加之和爲 n 的 k 個數的組合。組合中只允許含有 1 - 9 的正整數,並且每種組合中不存在重複的數字。 說明: 所有數字都是正整數。 解集不能包含重複的組合。 示例: 示例 1: 輸入: k = 3, n =

原创 leetcode63.不同路徑 II

題目: 一個機器人位於一個 m x n 網格的左上角 (起始點在下圖中標記爲“Start” )。 機器人每次只能向下或者向右移動一步。機器人試圖達到網格的右下角(在下圖中標記爲“Finish”)。 現在考慮網格中有障礙物。那麼從左上

原创 leetcode62.不同路徑

題目: 一個機器人位於一個 m x n 網格的左上角 (起始點在下圖中標記爲“Start” )。 機器人每次只能向下或者向右移動一步。機器人試圖達到網格的右下角(在下圖中標記爲“Finish”)。 問總共有多少條不同的路徑? 例如

原创 leetcode77.組合

題目: 給定兩個整數 n 和 k,返回 1 … n 中所有可能的 k 個數的組合。 示例: 輸入: n = 4, k = 2 輸出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 思路:

原创 leetcode39.組合總和

題目: 給定一個無重複元素的數組 candidates 和一個目標數 target ,找出 candidates 中所有可以使數字和爲 target 的組合。 candidates 中的數字可以無限制重複被選取。 說明: 所有數字(

原创 leetcode90.子集 II

題目: 給定一個可能包含重複元素的整數數組 nums,返回該數組所有可能的子集(冪集)。 說明:解集不能包含重複的子集。 示例: 輸入: [1,2,2] 輸出: [ [2], [1], [1,2,2], [2,2], [1,2],

原创 leetcode78.子集

題目: 給定一組不含重複元素的整數數組 nums,返回該數組所有可能的子集(冪集)。 說明:解集不能包含重複的子集。 示例: 輸入: nums = [1,2,3] 輸出: [ [3], [1], [2], [1,2,3], [1,3