原创 Google AudioSet-谷歌語音數據集如何解析

Google Audio Set是谷歌提供的語音數據集,對於語音相關的AI學習和研究有着至關重要的作用 因爲身處長城之內,故從谷歌官網搬運該數據集的介紹、下載,及解析格式 數據集簡介 AudioSet由632個音頻事件類的擴展本體和從Y

原创 Fail-fast

具體來說就是,當創建了iterator後,如果對list進行了結構性的修改,並且不是通過iterator的方法進行的修改(add、remove)那麼就會拋出@ConcurrentModificationException異常 Linked

原创 LinkedList

簡介 雙端隊列,實現了List、Deque接口,允許存儲所有類型的元素,包括null值、非線程安全的 //獲得線程安全的LinkedList List list = Collections.synchronizedList(new Li

原创 ArrayList 源碼分析:自增原理

目錄 前言 ArrayList簡介 預備知識 容量增長機制 Add()方法 增長策略:Grow() 容量擴充代碼分析 構造器分析 前言 ArrayList是平時比較常用的集合類,因爲其容量自動增長的特性,使我們可以非常方便的使用,且不用擔

原创 LeetCode中級 二叉搜索樹中第k小的元素

給定一個二叉搜索樹,編寫一個函數 kthSmallest 來查找其中第 k 個最小的元素。 說明: 你可以假設 k 總是有效的,1 ≤ k ≤ 二叉搜索樹元素個數。 示例 1: 輸入: root = [3,1,4,null,2], k

原创 LeetCode中級算法-每個節點的右向指針

給定一個二叉樹 struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *next; } 填充它的每個 next 指針,讓這個指

原创 LeetCode中級算法 二叉樹的鋸齒形層次遍歷

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

原创 LeetCode中級算法-鏈表-奇偶鏈表

給定一個單鏈表,把所有的奇數節點和偶數節點分別排在一起。請注意,這裏的奇數節點和偶數節點指的是節點編號的奇偶性,而不是節點的值的奇偶性。 請嘗試使用原地算法完成。你的算法的空間複雜度應爲 O(1),時間複雜度應爲 O(nodes),nod

原创 LeetCode中級算法-相交鏈表

編寫一個程序,找到兩個單鏈表相交的起始節點。   例如,下面的兩個鏈表: A: a1 → a2 ↘ c1 → c2 → c3

原创 [LeetCode]初級算法-查找-第一個錯誤的版本

第一個錯誤的版本 你是產品經理,目前正在帶領一個團隊開發新的產品。不幸的是,你的產品的最新版本沒有通過質量檢測。由於每個版本都是基於之前的版本開發的,所以錯誤的版本之後的所有版本都是錯的。 假設你有 n 個版本 [1, 2, ..., n

原创 [LeetCode]中計算法-遞增的三元子序列

 遞增的三元子序列 給定一個未排序的數組,判斷這個數組中是否存在長度爲 3 的遞增子序列。 數學表達式如下: 如果存在這樣的 i, j, k,  且滿足 0 ≤ i < j < k ≤ n-1, 使得 arr[i] < arr[j] <

原创 [LeetCode]初級算法-動態規劃-爬樓梯

 爬樓梯 假設你正在爬樓梯。需要 n 步你才能到達樓頂。 每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢? 注意:給定 n 是一個正整數。 示例 1: 輸入: 2 輸出: 2 解釋: 有兩種方法可以爬到樓頂。 1.

原创 [LeetCode]中級算法-最長迴文子串

 最長迴文子串 給定一個字符串 s,找到 s 中最長的迴文子串。你可以假設 s 的最大長度爲1000。 示例 1: 輸入: "babad" 輸出: "bab" 注意: "aba"也是一個有效答案。 示例 2: 輸入: "cbbd" 輸

原创 [LeetCode]中級算法-兩數相加

 兩數相加 給定兩個非空鏈表來表示兩個非負整數。位數按照逆序方式存儲,它們的每個節點只存儲單個數字。將兩數相加返回一個新的鏈表。 你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。 示例: 輸入:(2 -> 4 -> 3) + (

原创 [LeetCode]初級算法-樹-二叉樹的層次遍歷

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