原创 130:Surrounded Regions【BFS】

題目鏈接:click~ /*題意:給出一個二維數組,有'X'和'O',將被'X'包圍的'O'替換爲'X'*/ /** *思路:與其求被X包圍的O,不如求沒有被X包圍的O,先對這樣的O進行標記(標記成+) * 最後重新掃描一

原创 100:Same Tree【樹】【DFS】

題目鏈接:click~ /*題意:判斷兩個樹是否相同*/ class Solution { public: bool isSameTree(TreeNode *p, TreeNode *q) { if( !( (p

原创 103:Binary Tree Zigzag Level Order Traversal【樹】【BFS】【棧】

題目鏈接:click~ /*題意:對一顆二叉樹進行Z字行一層一層的遍歷*/ class Solution { public: void DFS(TreeNode *T, int level, vector<vector<int>>

原创 110:Balanced Binary Tree【樹】【DFS】

題目鏈接:click~ /*題意:判斷一顆平衡二叉樹是否平衡*/ /** *思路:平衡二叉樹的每個結點的左右子樹的深度差不超過1 * DFS記錄每個結點的左右子樹的深度,判斷是否平衡 */ class Solution

原创 94:Binary Tree Inorder Traversal【樹】【哈希】【棧】

題目鏈接:click~ DFS解法: /*題意:二叉樹的中序遍歷*/ class Solution { public: void InOrderTraverse(TreeNode *root, vector<int> &v)

原创 85:Maximal Rectangle【數組】【哈希】【棧】【DP】

題目鏈接:click~ /*題意:給出包含0和1的矩陣,從圖中找出最大包含1的矩形的面積(全爲1)*/ /** *思路: 可轉化成求“最大矩形面積” * 將每一列的連續的1想象成柱子,掃描每一列,記錄以當前元素 *

原创 memcached的壓力測試工具memaslap安裝

(1)首先安裝libevent tar -xzvf libevent-2.0.20-stable.tar.gz ./configure -prefix=/usr make make install (2)安裝memaslap memas

原创 199:Binary Tree Right Side View【樹】【DFS】【BFS】

題目鏈接:click~ /*題意:給出一個二叉樹,假設你站在樹的最右側,求能看到的數*/ /** *思路:DFS遍歷整棵樹,先判斷當前結點是否是最右側的,接着遍歷 * 右子樹,再左子樹。 */ class Solut

原创 84:Largest Rectangle in Histogram【數組】【棧】

題目鏈接:click~ /*題意:N個非負整數,分別代表寬爲1的柱子,從圖中找出最大矩形的面積*/ /** *思路: 觀察發現,只有較矮的柱子才能和其它柱子構成矩形。比較相鄰的兩個 * 柱子: * 1)如果後面的柱

原创 124:Binary Tree Maximum Path Sum【樹】【DFS】

題目鏈接:click~ /*題意:給定一顆二叉樹,求最大路徑和。路徑可以從任意結點開始,任意結點結束*/ /** *思路: 對於每個結點,需要比較三個值 * 1)左子結點爲結尾的路徑和+當前結點值 * 2)

原创 3:Longest Substring Without Repeating Characters【哈希】【兩指針】【字符串】

題目鏈接:click~ /*題意:一個字符串,求不含有重複字母的最長子串的長度*/ /** *思路: 用v[]記錄字母出現的位置。掃描字符串時,如果該字符 * 已經出現過,且出現的位置在開始位置之前,更新開始位置。 */

原创 93:Restore IP Addresses【回溯】【字符串】

題目鏈接:click~ /*題意:給出一串只含數字的字符串,返回所有合法的IP*/ /** *思路: 對字符串進行分段處理,每段組成的數不能超過255,。將IP地址分爲4段 * 每段有三種情況: * 1)只

原创 66:Plus One【數組】【數學】

題目鏈接:click~ /*題意:給出一個數,加上一*/ /** *思路: 比較特殊的就是到了最高位仍然需要進位,那麼必須重新 * 申請內存空間,第一位是1,其它位都是0 */ class Solution { pub

原创 13:Roman to Integer【數學】【字符串】

題目鏈接:click~ /*題意:給出一串羅馬數字,轉化成阿拉伯數學。羅馬數字值爲1~3999*/ /** *思路:注意處理比較特殊的羅馬數字,IV,IX,XL,XC,CD,CM,這些組合的值都是 * 右邊較大的數字減去左

原创 49:Anagrams【哈希】【字符串】

題目鏈接:click~ /*題意:給出很多單詞,輸出所有的變位詞 變位詞:單詞中的字符排序完以後是相同的*/ /** *思路:1)從strs的第一個元素開始遍歷,排序得到tmp * 2)查看tmp是否在map中 *