原创 64最小路徑和

題目描述 給定一個包含非負整數的 m x n 網格,請找出一條從左上角到右下角的路徑,使得路徑上的數字總和爲最小。 說明:每次只能向下或者向右移動一步。 示例: 輸入: [[1,3,1], [1,5,1], [4,2,1] ]

原创 136只出現一次的數字

題目描述 給定一個非空整數數組,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 思路分析 最簡單的用HashMap存,存

原创 121買賣股票的最佳時機

題目描述 給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 如果你最多隻允許完成一筆交易(即買入和賣出一支股票),設計一個算法來計算你所能獲取的最大利潤。 注意你不能在買入股票前賣出股票。 示例 1: 輸入: [

原创 198打家劫舍

題目描述 你是一個專業的小偷,計劃偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警。 給定一個代表每個房屋存放金額的非負

原创 100相同的樹

題目描述 給定兩個二叉樹,編寫一個函數來檢驗它們是否相同。 如果兩個樹在結構上相同,並且節點具有相同的值,則認爲它們是相同的。 思路分析 思路一:看到用例,就想到最麻煩的做法。先把兩個樹用層次遍歷存儲爲數組,數組進行比較。 思路

原创 96不同的二叉搜索樹

題目描述 給定一個整數 n,求以 1 … n 爲節點組成的二叉搜索樹有多少種? 思路分析 先觀察,我們可以發現序列1-n,選i做根,則1-i爲左子樹,i-n爲右子樹,則i根的不同bst個數就是左右子樹不同情況的乘積。 eg. 12

原创 MySQL-必知必會

1. 索引 1.1 B+ Tree索引 答:InnoDB默認的索引方式。有序索引,將相鄰數據都存在一起,把隨機IO變成順序IO。 1.1.1 底層數據庫爲什麼用B+樹 答:總結: B+樹的數據全部存儲在葉子結點中,B樹的非葉子節

原创 31從1到n整數中1出現的次數

題目描述 求出1~13的整數中1出現的次數,並算出100~1300的整數中1出現的次數?爲此他特別數了一下1~13中包含1的數字有1、10、11、12、13因此共出現6次,但是對於後面問題他就沒轍了。ACMer希望你們幫幫他,並把

原创 11二進制中1的個數

題目描述 輸入一個整數,輸出該數二進制表示中1的個數。其中負數用補碼錶示。 思路分析 必須要知道的常識!計算機中數值一律用補碼存儲!所以不用特別關心負數的表示! 看解析才知道,基本上有三種做法。 基礎思路是,每一位和1進行與運算,

原创 47求1+2+3+...+n

題目描述 求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。 思路分析 思路一:自己寫的是用Math.pow算出n(n+1),然後>>1,即

原创 52正則表達式匹配

題目描述 請實現一個函數用來匹配包括’.‘和’*‘的正則表達式。模式中的字符’.‘表示任意一個字符,而’*'表示它前面的字符可以出現任意次(包含0次)。 在本題中,匹配是指字符串的所有字符匹配整個模式。例如,字符串"aaa"與模式

原创 12數值的整數次方

題目描述 給定一個double類型的浮點數base和int類型的整數exponent。求base的exponent次方。 保證base和exponent不同時爲0 思路分析 先判斷底數是否合法,再判斷冪數的特殊情況0,然後獲得次方

原创 35數組中的逆序對

題目描述 在數組中的兩個數字,如果前面一個數字大於後面的數字,則這兩個數字組成一個逆序對。輸入一個數組,求出這個數組中的逆序對的總數P。並將P對1000000007取模的結果輸出。 即輸出P%1000000007 輸入描述: 題

原创 49字符串轉換爲整數

題目描述 將一個字符串轉換成一個整數,字符串不是一個合法的數值則返回 0,要求不能使用字符串轉換整數的庫函數。 Iuput: +2147483647 1a33 Output: 2147483647 0 思路分析 代碼邏輯簡單,

原创 61序列化二叉樹

題目描述 請實現兩個函數,分別用來序列化和反序列化二叉樹 二叉樹的序列化是指:把一棵二叉樹按照某種遍歷方式的結果以某種格式保存爲字符串,從而使得內存中建立起來的二叉樹可以持久保存。序列化可以基於先序、中序、後序、層序的二叉樹遍歷方