原创 C++ 常量指針和指針常量的區別
指針常量(常指針) 首先是一個常量,其次該常量是個指針。因爲是一個指針類型的常量,所以定義時必須初始化一個變量的地址,且始終指向該地址不能被更改即只能賦值一次,但地址中存放的內容可以被更改。 通過以下例子瞭解指針常量的特性:
原创 LeetCode 415——字符串相加
一、題目介紹 給定兩個字符串形式的非負整數 num1 和num2 ,計算它們的和。 注意: num1 和num2 的長度都小於 5100. num1 和num2 都只包含數字 0-9. num1 和num2 都不包含任何前導零。 你不能使
原创 LeetCode 226——翻轉二叉樹(遞歸)
一、題目介紹 翻轉一棵二叉樹。 示例: 輸入: 4 / \ 2 7 / \ / \ 1 3 6 9 輸出: 4 / \ 7 2 / \ / \ 9 6
原创 隱馬爾可夫模型(HMM)未完待續……
文章目錄隱馬爾可夫模型(HMM)1、模型背景2、模型定義3、模型的三個基本問題3.1、概率計算問題3.2、學習問題3.3、預測問題(解碼問題)4、模型應用5、模型的偏執問題6、預測結果數據分析 隱馬爾可夫模型(HMM) 1、模型背
原创 LeetCode 58——最後一個單詞的長度
一、題目介紹 給定一個僅包含大小寫字母和空格 ' ' 的字符串,返回其最後一個單詞的長度。 如果不存在最後一個單詞,請返回 0 。 說明:一個單詞是指由字母組成,但不包含任何空格的字符串。 示例: 輸入: "Hello World" 輸出
原创 LeetCode 257——二叉樹的所有路徑(遞歸)
一、題目介紹 給定一個二叉樹,返回所有從根節點到葉子節點的路徑。 說明: 葉子節點是指沒有子節點的節點。 示例: 輸入: 1 / \ 2 3 \ 5 輸出: ["1->2->5", "1->3"] 解釋: 所有根
原创 LeetCode 100——相同的樹(遞歸)
一、題目介紹 給定兩個二叉樹,編寫一個函數來檢驗它們是否相同。 如果兩個樹在結構上相同,並且節點具有相同的值,則認爲它們是相同的。 示例 1: 輸入: 1 1 / \ / \
原创 LeetCode 111——二叉樹的最小深度(遞歸)
一、題目介紹 給定一個二叉樹,找出其最小深度。 最小深度是從根節點到最近葉子節點的最短路徑上的節點數量。 說明: 葉子節點是指沒有子節點的節點。 示例: 給定二叉樹 [3,9,20,null,null,15,7], 3 /
原创 LeetCode 290——單詞規律
一、題目介紹 給定一種規律 pattern 和一個字符串 str ,判斷 str 是否遵循相同的規律。 這裏的 遵循 指完全匹配,例如, pattern 裏的每個字母和字符串 str 中的每個非空單詞之間存在着雙向連接的對應規律。 示例1
原创 LeetCode 299——猜數字遊戲(哈希)
一、題目介紹 你正在和你的朋友玩 猜數字(Bulls and Cows)遊戲:你寫下一個數字讓你的朋友猜。每次他猜測後,你給他一個提示,告訴他有多少位數字和確切位置都猜對了(稱爲“Bulls”, 公牛),有多少位數字猜對了但是位置不對(稱
原创 LeetCode 168——Excel表列名稱
一、題目介紹 給定一個正整數,返回它在 Excel 表中相對應的列名稱。 例如, 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB
原创 LeetCode 263——醜數
一、題目介紹 編寫一個程序判斷給定的數是否爲醜數。 醜數就是隻包含質因數 2, 3, 5 的正整數。 示例 1: 輸入: 6 輸出: true 解釋: 6 = 2 × 3 示例 2: 輸入: 8 輸出: true 解釋: 8 = 2 ×
原创 LeetCode 258——各位相加
一、題目介紹 給定一個非負整數 num,反覆將各個位上的數字相加,直到結果爲一位數。 示例: 輸入: 38 輸出: 2 解釋: 各位相加的過程爲:3 + 8 = 11, 1 + 1 = 2。 由於 2 是一位數,所以返回 2。 來源:力
原创 LeetCode 179——最大數(排序)
一、題目介紹 給定一組非負整數,重新排列它們的順序使之組成一個最大的整數。 示例 1: 輸入: [10,2] 輸出: 210 示例 2: 輸入: [3,30,34,5,9] 輸出: 9534330 說明: 輸出結果可能非常大,所以你需要返
原创 LeetCode 292——Nim遊戲(找規律)
一、題目介紹 你和你的朋友,兩個人一起玩 Nim 遊戲:桌子上有一堆石頭,每次你們輪流拿掉 1 - 3 塊石頭。 拿掉最後一塊石頭的人就是獲勝者。你作爲先手。 你們是聰明人,每一步都是最優解。 編寫一個函數,來判斷你是否可以在給定石頭數量