原创 關於 MySQL 百萬數據量的 count(*) 查詢如何優化?

明確需求 對這個問題有興趣是源於一次開發中遇到要統計人數的需求。類似於“得到”專欄的訂閱數。 但是我的數據量比這個大很多,而對數據的準確性要求就不那麼高。所以首先要明確需求。其他答案有的說了用緩存,有的答案對比了count(*)、coun

原创 百度社招面試題——如何用Redis實現分佈式鎖

關於Redis實現分佈式鎖的問題,網絡上很多,但是很多人的討論基本就是把原來博主的貼過來,甚至很多面試官也是一知半解經不起推敲就來面候選人,最近結合我自己的學習和資料查閱,整理一下用Redis實現分佈式鎖的方法,歡迎評論、交流、討論。 1.

原创 【Leetcode】125. 驗證迴文串

題目 給定一個字符串,驗證它是否是迴文串,只考慮字母和數字字符,可以忽略字母的大小寫。 說明:本題中,我們將空字符串定義爲有效的迴文串。 示例 1: 輸入: "A man, a plan, a canal: Panama" 輸出: true

原创 【Leetcode】103. 二叉樹的鋸齒形層次遍歷

題目 給定一個二叉樹,返回其節點值的鋸齒形層次遍歷。(即先從左往右,再從右往左進行下一層遍歷,以此類推,層與層之間交替進行)。 例如:給定二叉樹 [3,9,20,null,null,15,7], 3 / \ 9 20

原创 【Leetcode】102. 二叉樹的層次遍歷

題目 給定一個二叉樹,返回其按層次遍歷的節點值。 (即逐層地,從左到右訪問所有節點)。 例如:給定二叉樹: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返

原创 【Leetcode】98. 驗證二叉搜索樹

題目 給定一個二叉樹,判斷其是否是一個有效的二叉搜索樹。 假設一個二叉搜索樹具有如下特徵: 節點的左子樹只包含小於當前節點的數。 節點的右子樹只包含大於當前節點的數。 所有左子樹和右子樹自身必須也是二叉搜索樹。 示例 1: 輸入:

原创 【Leetcode】95~96 不同的二叉搜索樹

Leetcode 95 不同的二叉搜索樹 II 輸入: 3輸出: [ [1,null,3,2], [3,2,null,1], [3,1,null,null,2], [2,1,3], [1,null,2,null,3] ]

原创 【劍指offer】順時針打印矩陣

題目 輸入一個矩陣,按照從外向裏以順時針的順序依次打印出每一個數字,例如,如果輸入如下4 X 4矩陣: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 則依次打印出數字1,2,3,4,8,12,16,15,14

原创 【劍指offer】33.二叉樹鏡像

題目 操作給定的二叉樹,將其變換爲源二叉樹的鏡像。二叉樹的鏡像定義:源二叉樹 8 / \ 6 10 / \ / \ 5 7 9 1

原创 【Leetcode】175. 組合兩個表

題目 表1: Person +-------------+---------+ | 列名 | 類型 | +-------------+---------+ | PersonId | int | | Fi

原创 【Leetcode】82. 刪除排序鏈表中的重複元素 II

題目 給定一個排序鏈表,刪除所有含有重複數字的節點,只保留原始鏈表中 沒有重複出現 的數字。 示例 1: 輸入: 1->2->3->3->4->4->5 輸出: 1->2->5 示例 2: 輸入: 1->1->1->2->3 輸出: 2->

原创 【Leetcode】81. 搜索旋轉排序數組 II

題目 假設按照升序排序的數組在預先未知的某個點上進行了旋轉。 ( 例如,數組 [0,0,1,2,2,5,6] 可能變爲 [2,5,6,0,0,1,2] )。 編寫一個函數來判斷給定的目標值是否存在於數組中。若存在返回 true,否則返回 f

原创 【Leetcode】80. 刪除排序數組中的重複項 II

題目 給定一個排序數組,你需要在原地刪除重複出現的元素,使得每個元素最多出現兩次,返回移除後數組的新長度。不要使用額外的數組空間,你必須在原地修改輸入數組並在使用 O(1) 額外空間的條件下完成。 示例 1:給定 nums = [1,1,1

原创 6-9月技術文章彙總

HTTP 【HTTP】分佈式session的管理 【HTTP】Cookie和Session 【HTTP】當我在談論RestFul架構時我在談啥? 【HTTP】HTTP狀態碼詳解 【HTTP】無狀態協議和Cookie 【HTTP】HTTP請

原创 【Leetcode】79.單詞搜索

題目 給定一個二維網格和一個單詞,找出該單詞是否存在於網格中。 單詞必須按照字母順序,通過相鄰的單元格內的字母構成,其中“相鄰”單元格是那些水平相鄰或垂直相鄰的單元格。同一個單元格內的字母不允許被重複使用。 示例: board =[ ['