原创 根據Java的容器說說“快速報錯” (fail-fast)

Java容器有一種保護機制,能夠防止多個線程修改同一個容器的內容。 這個機制主要是應用到迭代器上,如果你使用迭代器進行遍歷,那麼此時有另一個線程修改了這個數據結構,比如此時,別的線程,增加,刪除了某個元素,這個是Java的非同步容

原创 LeetCode 735. 行星碰撞 (Java版)

題目 735. 行星碰撞 https://leetcode-cn.com/problems/asteroid-collision/ 題解 棧的思想解決 如果棧爲空,那麼直接入棧。 當前的遍歷到的數值大於0,那麼直接入棧。 如

原创 LeetCode 題解 16 最接近的三數之和(Java版)

題目 16. 最接近的三數之和 題解 一、雙指針思想 1 首先進行數組排序,時間複雜度O(nlogN)O(nlogN)O(nlogN),然後設置一個dis = Integer.MAX_VALUE 2 在 nums 數組進行遍歷,

原创 LeetCode 53 最大子序和(Java版)

題目 53. 最大子序和 題解 其實這個描述不夠準確,應該是最大子數組和纔對 1 動態規劃 這個需要懂得一個技巧,如何確定這個是不是一個新的子數組的開頭,就是看前一個位置的值是否是正值,如果是正值,那麼對於當前的值就是有增加效果的

原创 二叉樹的前序、中序、後序遍歷(遞歸實現)

遞歸實現 先設定樹的節的數據結構是 private class Node { public E element; public Node left, right; public Node(E eleme

原创 第47周 ARTS 2019 09 08

Algorithm:5067. 統計只含單一字母的子串 Review: Synchronization and Object Locking Tip/Tech:快排的非遞歸實現 Share:愛爾蘭青少年因從海洋中去除微塑料而獲得

原创 排序算法(2)歸併排序

時間複雜度:O(NlogN)O(NlogN)O(NlogN) 非原地排序 沒辦法啊,在合併的那個步驟是要申請額外的空間的。 空間複雜度O(N)O(N)O(N) 優勢是什麼? 1)穩定的O(NlogN)O(NlogN)O(NlogN

原创 實現一個最基本的鎖

首先要我們要確定這個鎖的對象是否已經被鎖了 用一個布爾類型的變量來確認是否被加鎖了。 需要一個集合來存放那些還沒得到鎖,在等候鎖的線程。 需要一個判斷是否是當前的線程的對象。 private Thread currentThrea

原创 257 二叉樹的所有路徑——Java解法

257 二叉樹的所有路徑 https://leetcode-cn.com/problems/binary-tree-paths/ 這題其實就是中序遍歷的思想而已,因爲這裏用的是這裏的順序是總是先輸出根節點再輸出葉子節點,所以,

原创 第45周 ARTS 2019 08 25

Algorithm:75. 顏色分類 Review: Synchronization and Object Locking Tip/Tech:快排的非遞歸實現 Share:愛爾蘭青少年因從海洋中去除微塑料而獲得谷歌科學獎 Al

原创 排序算法(1)快速排序

分治思想 原地排序 時間複雜度:O(NlogN)O(NlogN)O(NlogN) 空間複雜度:O(1)O(1)O(1) 優勢: 時間複雜度和歸併相同,但是更加節省空間,實現相對堆排序來說簡單易懂 最重要就是那個尋找基準座標的函數p

原创 第44周 ARTS 2019 08 18

Algorithm:274. H指數 Review: Tip/Tech: Share: Algorithm 274. H指數 https://leetcode-cn.com/problems/h-index/ 這題的重點就是

原创 JVM知識總結2:類加載器是虛擬機的入口

類加載器是虛擬機的入口,那麼類加載器的入口在哪? 首先,我們要知道,我們每次給JVM運行的文件多數的情況都是一堆的文件的,就像我們平時看一本書,你基本沒見過一頁紙的書吧?所以,JVM一般在運行的時候都是運行一堆的.class文件的

原创 JVM知識總結1:從Java文件和虛擬機開始說起

計算機就是個打工的 平時我們用java語言寫的那些程序無非就是告訴計算機要幹啥事。 就是遇到一個輸入,你一個計算機要根據這個輸入,然後按照我給你的這些命令來幹事。 Java語言就是來發送指令的一種高級語言吧。 虛擬機有點像 翻譯官

原创 第43周 ARTS 2019 08 11

Algorithm:638. 大禮包 Review: Adaptive Collaborative Topic Modeling for Online Recommendation Tip/Tech: khan算法完成拓撲排序