原创 LeetCode 232. 用棧實現隊列(Python)

使用棧實現隊列的下列操作: push(x) -- 將一個元素放入隊列的尾部。 pop() -- 從隊列首部移除元素。 peek() -- 返回隊列首部的元素。 empty() -- 返回隊列是否爲空。 示例: MyQueue queu

原创 LeetCode 94、144、145*. 二叉樹的遍歷(Python)

給定一個二叉樹,返回它的 前序 遍歷。  示例: 輸入: [1,null,2,3]   1    \      2    / 3  輸出: [1,2,3]   思路:遞歸很簡單,這裏用迭代法,使用棧模擬計算機中的指令執行情況。 1.

原创 LeetCode 852. 山脈數組的峯頂索引(Python)

我們把符合下列屬性的數組 A 稱作山脈: A.length >= 3 存在 0 < i < A.length - 1 使得A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... > A[A.lengt

原创 LeetCode 9. 迴文數(Python)

判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 爲 -121 。 從右向左讀,

原创 LeetCode 56. 合併區間(Python)

給出一個區間的集合,請合併所有重疊的區間。 示例 1: 輸入: [[1,3],[2,6],[8,10],[15,18]] 輸出: [[1,6],[8,10],[15,18]] 解釋: 區間 [1,3] 和 [2,6] 重疊, 將它們合併爲

原创 LeetCode 283. 移動零(Python)

給定一個數組 nums,編寫一個函數將所有 0 移動到數組的末尾,同時保持非零元素的相對順序。 示例: 輸入: [0,1,0,3,12] 輸出: [1,3,12,0,0]  思路:定義一個指針k,記錄從0到k處的值都是已排好的非零數,

原创 LeetCode 34*. 在排序數組中查找元素的第一個和最後一個位置(Python)

給定一個按照升序排列的整數數組 nums,和一個目標值 target。找出給定目標值在數組中的開始位置和結束位置。 你的算法時間複雜度必須是 O(log n) 級別。 如果數組中不存在目標值,返回 [-1, -1]。 示例 1: 輸入:

原创 LeetCode 209. 長度最小的子數組(Python)

給定一個含有 n 個正整數的數組和一個正整數 s ,找出該數組中滿足其和 ≥ s 的長度最小的連續子數組。如果不存在符合條件的連續子數組,返回 0。 示例:  輸入: s = 7, nums = [2,3,1,2,4,3] 輸出: 2 解

原创 LeetCode 19. 刪除鏈表的倒數第N個節點(Python)

給定一個鏈表,刪除鏈表的倒數第 n 個節點,並且返回鏈表的頭結點。 示例: 給定一個鏈表: 1->2->3->4->5, 和 n = 2. 當刪除了倒數第二個節點後,鏈表變爲 1->2->3->5. 說明: 給定的 n 保證是有效的。  

原创 LeetCode 1009. 十進制整數的反碼(Python)

每個非負整數 N 都有其二進制表示。例如, 5 可以被表示爲二進制 "101",11 可以用二進制 "1011" 表示,依此類推。注意,除 N = 0 外,任何二進制表示中都不含前導零。 二進制的反碼錶示是將每個 1 改爲 0 且每個 0

原创 LeetCode 279*. 完全平方數(Python)

給定正整數 n,找到若干個完全平方數(比如 1, 4, 9, 16, ...)使得它們的和等於 n。你需要讓組成和的完全平方數的個數最少。 示例 1: 輸入: n = 12 輸出: 3  解釋: 12 = 4 + 4 + 4. 示例

原创 LeetCode 75*. 顏色分類(Python)

  給定一個包含紅色、白色和藍色,一共 n 個元素的數組,原地對它們進行排序,使得相同顏色的元素相鄰,並按照紅色、白色、藍色順序排列。 此題中,我們使用整數 0、 1 和 2 分別表示紅色、白色和藍色。 注意: 不能使用代碼庫中的排序函數

原创 LeetCode 347*. 前 K 個高頻元素(Python)

給定一個非空的整數數組,返回其中出現頻率前 k 高的元素。 示例 1: 輸入: nums = [1,1,1,2,2,3], k = 2 輸出: [1,2] 示例 2: 輸入: nums = [1], k = 1 輸出: [1] 說

原创 二階數字鎖相環仿真(內附MATLAB代碼)

近日由於課程作業的緣故,粗讀了杜勇老師著作《鎖相環技術原理及FPGA實現》,實屬收穫滿滿,由於本科學習高頻電子線路時的遺漏,導致本人對所學通信工程專業有所遺憾,不料恰逢合適的時間遇到厲害的老師以及同學,有幸將此知識補缺完整,在駛向新航道的

原创 LeetCode 454. 四數相加 II(Python)

給定四個包含整數的數組列表 A , B , C , D ,計算有多少個元組 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。 爲了使問題簡單化,所有的 A, B, C, D 具有相同的長度 N