原创 LLVM:Writing an LLVM Backend

寫一個LLVM後端 :轉換LLVM IR爲目標平臺的指令(彙編碼/機器碼-JIT) https://releases.llvm.org/8.0.0/docs/WritingAnLLVMBackend.html#id33   建立新後端的七

原创 38外觀數列;406根據身高重建隊列;647迴文子串

「外觀數列」是一個整數序列,從數字 1 開始,序列中的每一項都是對前一項的描述。前五項如下: 1.     1 2.     11 3.     21 4.     1211 5.     111221 1 被讀作  "one 1"  

原创 459重複的子字符串;KMP匹配字符串;686重複疊加字符串匹配;Robin-Karp算法

給定一個非空的字符串,判斷它是否可以由它的一個子串重複多次構成。給定的字符串只含有小寫英文字母,並且長度不超過10000。 示例 1: 輸入: "abab" 輸出: True 解釋: 可由子字符串 "ab" 重複兩次構成。 示例 2:

原创 454四數相加 II;24兩兩交換鏈表中的節點;25K 個一組翻轉鏈表;28實現 strStr()

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

原创 12整數轉羅馬數字;13羅馬數字轉整數;14最長公共前綴;16最接近的三數之和;18四數之和

羅馬數字包含以下七種字符: I, V, X, L,C,D 和 M。 字符          數值 I             1 V             5 X             10 L             50 C  

原创 65有效數字

驗證給定的字符串是否可以解釋爲十進制數字。 例如: "0" => true " 0.1 " => true "abc" => false "1 a" => false "2e10" => true " -90e3   " => true

原创 9迴文數;680驗證迴文字符串 Ⅱ;8字符串轉換整數 (atoi);確定有限自動機automaton

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

原创 877石子游戲;913貓和老鼠

亞歷克斯和李用幾堆石子在做遊戲。偶數堆石子排成一行,每堆都有正整數顆石子 piles[i] 。 遊戲以誰手中的石子最多來決出勝負。石子的總數是奇數,所以沒有平局。 亞歷克斯和李輪流進行,亞歷克斯先開始。 每回合,玩家從行的開始或結束處取走

原创 極小化極大;292Nim 遊戲;bitset容器;464我能贏嗎;486預測贏家

極小化極大:回溯+剪枝 先來說極小極大算法主要應用於什麼樣的遊戲: 1. 零和遊戲(Zero-sum Game):意思就是你死我活,一方的勝利代表另一方的失敗,比如,象棋,五子棋等。 2. 完全信息(Perfect Information

原创 隨機+拒絕抽樣:519隨機翻轉矩陣;710黑名單中的隨機數;蓄水池抽樣算法;398. 隨機數索引;382鏈表隨機節點

題中給出一個 n 行 n 列的二維矩陣 (n_rows,n_cols),且所有值被初始化爲 0。要求編寫一個 flip 函數,均勻隨機的將矩陣中的 0 變爲 1,並返回該值的位置下標 [row_id,col_id];同樣編寫一個 rese

原创 Random+Rejection Sampling+二分法;470用 Rand7() 實現 Rand10();478在圓內隨機生成點;528按權重隨機選擇;497. 非重疊矩形中的隨機點

已有方法 rand7 可生成 1 到 7 範圍內的均勻隨機整數,試寫一個方法 rand10 生成 1 到 10 範圍內的均勻隨機整數。 不要使用系統的 Math.random() 方法。     示例 1: 輸入: 1 輸出: [7]

原创 407接雨水 II;7整數反轉;401二進制手錶

給你一個 m x n 的矩陣,其中的值均爲正整數,代表二維高度圖每個單元的高度,請計算圖中形狀最多能接多少體積的雨水。   示例: 給出如下 3x6 的高度圖: [   [1,4,3,1,3,2],   [3,2,1,3,2,4],  

原创 回溯法框架;77組合;40組合總和 II;216組合總和 III

//回溯+深度優先遞歸 ①vector<vector<XXX>>函數返回類/全排列,一般用回溯 ②分析子樹的含義(最好是push和pop一次,而不是可能一次性push pop很多個對象) ③分析每個節點子樹個數的限制條件(從第幾個子樹分

原创 15三數之和;1248統計「優美子數組」;23合併K個排序鏈表;42接雨水

給你一個包含 n 個整數的數組 nums,判斷 nums 中是否存在三個元素 a,b,c ,使得 a + b + c = 0 ?請你找出所有滿足條件且不重複的三元組。 注意:答案中不可以包含重複的三元組。   示例: 給定數組 nums

原创 221最大正方形;146LRU緩存機制;238除自身以外數組的乘積;309最佳買賣股票時機含冷凍期;347前 K 個高頻元素

在一個由 0 和 1 組成的二維矩陣內,找到只包含 1 的最大正方形,並返回其面積。 示例: 輸入:  1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 輸出: 4 class Solution {//一維