原创 Leetcode 98題驗證二叉搜索樹(Validate Binary Search Tree) Java語言求解

題目鏈接 https://leetcode-cn.com/problems/validate-binary-search-tree/ 題目內容 給定一個二叉樹,判斷其是否是一個有效的二叉搜索樹。 假設一個二叉搜索樹具有如下特徵:

原创 Leetcode 42題 接雨水(Trapping Rain Water) Java語言求解

題目鏈接 https://leetcode-cn.com/problems/trapping-rain-water/ 題目內容 給定 n 個非負整數表示每個寬度爲 1 的柱子的高度圖,計算按此排列的柱子,下雨之後能接多少雨水。

原创 詳解堆排序算法

什麼是堆 堆首先是一個完全二叉樹,堆分爲大頂堆和小頂堆; 大頂堆 : 每個節點的值大於或等於其左右孩子節點的值,稱爲大頂堆。 小頂堆同理就是每個節點的值小於或等於其左右孩子節點的值。 注意: 每個節點的左右孩子節點的大小關係並沒有

原创 談談Java中的反射機制

前言 在使用框架進行開發時,我們的開發速度大大提升。我們感嘆於它的神奇之處,我們使用它的時候,也要知道其“靈魂”。正所謂,無反射,不框架,框架的靈魂就是反射。 另外,我們在eclipse或者IDEA中編輯Java代碼時,它們是怎麼

原创 詳解基數排序算法

基本思想 基數排序的思想是將整數按位數切割成不同的數字,然後按每個位數分別比較從而得到有序的序列。 例子 本文以數組中元素均爲正整數來演示思想。 給定一個數組 arr = [ 6, 56, 89 , 12 ,39 ,21,11,1

原创 詳解歸併排序算法

基本思想 歸併排序的基本思想是: 先將序列一次次分成子序列,直到子序列長度爲1; 再將已有序的子序列合併,得到完全有序的序列。 可以看出歸併排序運用了 分而治之的思想 。 例子 輸入數組 [ 2, 5, 3 , 10, -3,

原创 Leetcode 92題反轉鏈表 II(Reverse Linked List II) Java語言求解

前言 反轉鏈表可以先看我這篇文章: Leetcode 206題 反轉鏈表(Reverse Linked List)Java語言求解 題目鏈接 https://leetcode-cn.com/problems/reverse-lin

原创 Leetcode 面試題22. 鏈表中倒數第k個節點 Java語言求解

題目鏈接 https://leetcode-cn.com/problems/lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof/ 題目內容 輸入一個鏈表,輸出該鏈表中倒數第k個節點。爲了符合大

原创 Git的使用(二):遠程倉庫

在github上創建遠程倉庫 本地創建Git倉庫適合自己一個人完成工程,但是實際情況中我們需要其他人來協作開發,此時就可以把本地倉庫同步到遠程倉庫,同時還增加了本地倉庫的一個備份。常用的遠程倉庫就是github:https://g

原创 Git的使用(一):創建本地倉庫並在其中添加、修改、刪除文件

創建本地版本庫 版本庫又名倉庫,英文名repository,可以簡單理解成一個目錄,這個目錄裏面的所有文件都可以被Git管理起來,每個文件的修改、刪除,Git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻可以“還原”。由

原创 Git的安裝與TortoiseGit的安裝和漢化

下載Git 進入https://git-scm.com/downloads 可以看到如下界面 因爲我是windows系統,選擇windows即可。 有的朋友因爲網絡慢的一些原因不能很快下載下來,可以進入微信公衆號code隨筆回覆

原创 Leetcode 20題 有效的括號(Valid Parentheses) Java語言求解

題目描述: 給定一個只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判斷字符串是否有效。 有效字符串需滿足: 左括號必須用相同類型的右括號閉合。 左括號必須以正確的順序閉合。 注意空字符串可被認爲是有效字符串。

原创 Leetcode 703題數據流中的第K大元素(Kth Largest Element in a Stream)Java語言求解

題目鏈接 https://leetcode-cn.com/problems/kth-largest-element-in-a-stream/ 題目內容 設計一個找到數據流中第K大元素的類(class)。注意是排序後的第K大元素,不