原创 3種解法 - 判斷字符串是有效數字

文章目錄目錄解法一(規則判斷)解法二(有限狀態機)解法三(分類判斷) 目錄 驗證給定的字符串是否可以解釋爲十進制數字。 例如: “0” => true " 0.1 " => true “abc” => false “1 a” =

原创 3種解法 - 定位單鏈表的中間節點

文章目錄題目解法一(單鏈表法)解法二(數組)解法三(快慢指針) 題目 給定一個帶有頭結點 head 的非空單鏈表,返回鏈表的中間結點。 如果有兩個中間結點,則返回第二個中間結點。 示例 1: 輸入:[1,2,3,4,5] 輸出

原创 2種方法 - 判斷卡牌分組

文章目錄題目解法一(暴力法)解法二(最大公約數) 題目 NO. 914 給定一副牌,每張牌上都寫着一個整數。 此時,你需要選定一個數字 X,使我們可以將整副牌按下述規則分成 1 組或更多組: 每組都有 X 張牌。 組內所有的牌

原创 常用的創建型設計模式(C#舉例)

文章目錄單例模式工廠模式建造者模式原型模式彙總說明 單例模式 單例模式用於創建唯一對象,新開了兩篇文章單獨來寫了: 基礎單例模式(C#舉例) 單例模式攻防進階(C#舉例) 工廠模式 當對象的創建邏輯比較複雜的時候,可以考慮使

原创 3種方法:計算機器人的運動範圍

文章目錄題目題解解法一(深度優先搜索-遞歸)解法二(深度優先搜索-棧循環)解法三(廣度優先搜索-隊列循環) 題目 NO. 1531 地上有一個m行n列的方格,從座標 [0,0] 到座標 [m-1,n-1] 。一個機器人從座標 [

原创 3種方法: 計算接最多的雨水

文章目錄題目解法一(暴力法)解法二(動態規劃)解法三(雙指針法) 題目 給定 n 個非負整數表示每個寬度爲 1 的柱子的高度圖,計算按此排列的柱子,下雨之後能接多少雨水。 上面是由數組 [0,1,0,2,1,0,1,3,2,1,

原创 3種方法:字符串轉換整數 (atoi)

文章目錄題目解法一(排除法Python)解法二(正向邏輯C#)解法三(有限狀態機 C語言) 題目 請你來實現一個 atoi 函數,使其能將字符串轉換成整數。 首先,該函數會根據需要丟棄無用的開頭空格字符,直到尋找到第一個非空格的

原创 3種方法 - 實現地圖分析

文章目錄題目解法一(海洋爲中心擴張)解法二(陸地爲中心擴張)解法三(動態規劃) 題目 NO. 1162 你現在手裏有一份大小爲 N x N 的『地圖』(網格) grid,上面的每個『區域』(單元格)都用 0 和 1 標記好了。其

原创 3種方法 - 實現單詞的壓縮編碼

文章目錄題目解法一(暴力法)解法二(後綴清除)解法三(字典樹) 題目 NO. 820 給定一個單詞列表,我們將這個列表編碼成一個索引字符串 S 與一個索引列表 A。 例如,如果這個列表是 [“time”, “me”, “bell

原创 面向對象開發 SOLID 設計原則(C#舉例)

文章目錄基本定義細則說明SRP:單一職責原則OCP:開閉原則LSP:裏式替換原則ISP:接口隔離原則DIP:依賴反轉原則程序示例SRP:單一職責原則OCP:開閉原則LSP:裏式替換原則ISP:接口隔離原則DIP:依賴反轉原則 基

原创 3種解法 - 判斷矩形重疊

題目 矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 爲左下角的座標,(x2, y2) 是右上角的座標。 如果相交的面積爲正,則稱兩矩形重疊。需要明確的是,只在角或邊接觸的兩個矩形不構成重疊。 給

原创 3種算法 - 查看拼寫單詞

文章目錄題目解法一(固定數組)解法二(Pythonic)解法三(暴力法) 題目 給你一份『詞彙表』(字符串數組) words 和一張『字母表』(字符串) chars。 假如你可以用 chars 中的『字母』(字符)拼寫出 wor

原创 3種解法 - 實現字符串壓縮

文章目錄題目解法一(臨時變量)解法二(快慢指針)解法三(Pythonic) 題目 字符串壓縮。利用字符重複出現的次數,編寫一種方法,實現基本的字符串壓縮功能。比如,字符串aabcccccaaa會變爲a2b1c5a3。若“壓縮”後

原创 2種解法 - 將二叉搜索樹變平衡

文章目錄題目調試工具解法一(二分法構建平衡樹)解法二(中序遍歷解析樹結構)解法三(二叉樹旋轉) 題目 給你一棵二叉搜索樹,請你返回一棵 平衡後 的二叉搜索樹,新生成的樹應該與原來的樹有着相同的節點值。 如果一棵二叉搜索樹中,每個

原创 Mysql創建索引注意事項

文章目錄索引的基礎:索引的規則:索引的優化策略:索引的鎖機制 索引的基礎: 索引就相當於一本書的目錄,目的是快速定位數據 索引真正的價值是使用了索引的樹搜索功能,而不是全表或全索引掃描,有效減少了掃描行數 mysql是索引組織