原创 給定一個二叉樹,判斷它是否是高度平衡的二叉樹。

給定一個二叉樹,判斷它是否是高度平衡的二叉樹。 本題中,一棵高度平衡二叉樹定義爲: 一個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過1。 示例 1: 給定二叉樹 [3,9,20,null,null,15,7] 3

原创 老師想給孩子們分發糖果,有 N 個孩子站成了一條直線,老師會根據每個孩子的表現,預先給他們評分。

老師想給孩子們分發糖果,有 N 個孩子站成了一條直線,老師會根據每個孩子的表現,預先給他們評分。 你需要按照以下要求,幫助老師給這些孩子分發糖果: 每個孩子至少分配到 1 個糖果。 相鄰的孩子中,評分高的孩子必須獲得更多的糖果。 那麼這樣

原创 在二維平面上,有一個機器人從原點 (0, 0) 開始。給出它的移動順序,判斷這個機器人在完成移動後是否在 (0, 0) 處結束。

在二維平面上,有一個機器人從原點 (0, 0) 開始。給出它的移動順序,判斷這個機器人在完成移動後是否在 (0, 0) 處結束。 移動順序由字符串表示。字符 move[i] 表示其第 i 次移動。機器人的有效動作有 R(右),L(左),U

原创 給定一個按照升序排列的整數數組 nums,和一個目標值 target。找出給定目標值在數組中的開始位置和結束位置。

給定一個按照升序排列的整數數組 nums,和一個目標值 target。找出給定目標值在數組中的開始位置和結束位置。 你的算法時間複雜度必須是 O(log n) 級別。 如果數組中不存在目標值,返回 [-1, -1]。 示例 1: 輸入:

原创 給出 N 名運動員的成績,找出他們的相對名次並授予前三名對應的獎牌。前三名運動員將會被分別授予 “金牌”,“銀牌” 和“ 銅牌”

給出 N 名運動員的成績,找出他們的相對名次並授予前三名對應的獎牌。前三名運動員將會被分別授予 “金牌”,“銀牌” 和“ 銅牌”("Gold Medal", "Silver Medal", "Bronze Medal")。 (注:分數越高

原创 設計一個支持 push ,pop ,top 操作,並能在常數時間內檢索到最小元素的棧。

設計一個支持 push ,pop ,top 操作,並能在常數時間內檢索到最小元素的棧。 push(x) —— 將元素 x 推入棧中。 pop() —— 刪除棧頂的元素。 top() —— 獲取棧頂元素。 getMin() —— 檢索棧中的

原创 給定不同面額的硬幣和一個總金額。寫出函數來計算可以湊成總金額的硬幣組合數。假設每一種面額的硬幣有無限個。

給定不同面額的硬幣和一個總金額。寫出函數來計算可以湊成總金額的硬幣組合數。假設每一種面額的硬幣有無限個。  示例 1: 輸入: amount = 5, coins = [1, 2, 5] 輸出: 4 解釋: 有四種方式可以湊成總金額:

原创 數據庫爲什麼用事務、事務的特性、事務的併發問題以及事務的隔離級別

爲什麼要有事務? 舉個例子 你給你的朋友轉賬100; 如果先從自己的賬戶中扣除轉賬金額,再往對方賬戶中增加轉賬金額,扣除執行成功,增加執行失敗,那自己的賬戶白白少了100塊,欲哭無淚。 如果先往對方賬戶中增加轉賬金額,再從自己的賬戶中扣除

原创 設計一個找到數據流中第K大元素的類(class)。注意是排序後的第K大元素,不是第K個不同的元素。

設計一個找到數據流中第K大元素的類(class)。注意是排序後的第K大元素,不是第K個不同的元素。 你的 KthLargest 類需要一個同時接收整數 k 和整數數組nums 的構造器,它包含數據流中的初始元素。每次調用 KthLarge

原创 【Python】之海龜圖形化程序

turtle庫是python的基礎繪圖庫。 urtle名稱含義爲“海龜”,我們想象一隻海龜,位於顯示器上窗體的正中心,在畫布上游走,它遊走的軌跡就形成了繪製的圖形。 海龜的運動是由程序控制的,它可以變換顏色,改變大小(寬度)等。 常用函數

原创 給定一個以字符串表示的非負整數 num,移除這個數中的 k 位數字,使得剩下的數字最小。

給定一個以字符串表示的非負整數 num,移除這個數中的 k 位數字,使得剩下的數字最小。 注意: num 的長度小於 10002 且 ≥ k。 num 不會包含任何前導零。 示例 1 : 輸入: num = "1432219", k

原创 將一個按照升序排列的有序數組,轉換爲一棵高度平衡二叉搜索樹。

將一個按照升序排列的有序數組,轉換爲一棵高度平衡二叉搜索樹。 本題中,一個高度平衡二叉樹是指一個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過 1。 示例: 給定有序數組: [-10,-3,0,5,9], 一個可能的答案是:[

原创 給定一個 m x n 的矩陣,如果一個元素爲 0,則將其所在行和列的所有元素都設爲 0。請使用原地算法。

給定一個 m x n 的矩陣,如果一個元素爲 0,則將其所在行和列的所有元素都設爲 0。請使用原地算法。 示例 1: 輸入: [   [1,1,1],   [1,0,1],   [1,1,1] ] 輸出: [   [1,0,1],

原创 給定一個二叉樹, 找到該樹中兩個指定節點的最近公共祖先。

百度百科中最近公共祖先的定義爲:“對於有根樹 T 的兩個結點 p、q,最近公共祖先表示爲一個結點 x,滿足 x 是 p、q 的祖先且 x 的深度儘可能大(一個節點也可以是它自己的祖先)。” 例如,給定如下二叉樹:  root = [3,5

原创 面試時需要掌握的 Mycat分庫分表技能

分庫分表的意義:把壓力分攤到不同的服務器上 場景描述: 一張表100w,按ID(分庫字段)除以10取模,分到10個庫 1號庫id最後位總是1 2號庫id最後位總是2 以此類推...... 不同的表儘量創建在不同機器上,別10張表都在一個機