原创 transient關鍵字詳解

作用: 一旦變量被transient修飾,變量將不再是對象持久化的一部分,該變量內容在序列化後無法獲得訪問。 transient關鍵字只能修飾變量,而不能修飾方法和類。注意,本地變量是不能被transient關鍵字修飾的。變量

原创 約瑟夫環解法大全(C語言版)

前言: 約瑟夫環不愧是一道經典的算法題,原來也經常看到,但一直沒有動手編碼研究。最近又被同學提起這個問題,就研究了一下,發現這個問題可以挖掘的東西有很多,怪不得一直是面試的熱門問題。 解法一,使用鏈表模擬: 使用鏈成環的單鏈表

原创 leetcode 29. 兩數相除(Java版)

題目名,兩數相除,表面看起來人畜無害。結果…,他喵的提交十幾次才過。 題目描述(題目難度,中等) 給定兩個整數,被除數 dividend 和除數 divisor。將兩數相除,要求不使用乘法、除法和 mod 運算符。 返回被除數 d

原创 leetcode 23. 合併K個排序鏈表(Java版)

題目描述(題目難度,困難) 合併 k 個排序鏈表,返回合併後的排序鏈表。請分析和描述算法的複雜度。 示例: 輸入: [ 1->4->5, 1->3->4, 2->6 ] 輸出: 1->1->2->3->4->4->5->6 示

原创 leetcode 16. 最接近的三數之和(Java版)

題目描述(題目難度,中等) 給定一個包括 n 個整數的數組 nums 和 一個目標值 target。找出 nums 中的三個整數,使得它們的和與 target 最接近。返回這三個數的和。假定每組輸入只存在唯一答案。 例如,給定數

原创 leetcode 25. k個一組翻轉鏈表(Java版)

題目描述(題目難度,困難) 給出一個鏈表,每 k 個節點一組進行翻轉,並返回翻轉後的鏈表。 k 是一個正整數,它的值小於或等於鏈表的長度。如果節點總數不是 k 的整數倍,那麼將最後剩餘節點保持原有順序。 示例 : 給定這個鏈表:1

原创 leetcode 39. 組合總和(Java版)

題目描述(題目難度,中等) 給定一個無重複元素的數組 candidates 和一個目標數 target ,找出 candidates 中所有可以使數字和爲 target 的組合。 candidates 中的數字可以無限制重複被選取

原创 搜索旋轉排序數組

一、leetcode 33. 搜索旋轉排序數組 題目描述(題目難度,中等) 假設按照升序排序的數組在預先未知的某個點上進行了旋轉。 ( 例如,數組 [0,1,2,4,5,6,7] 可能變爲 [4,5,6,7,0,1,2] )。 搜

原创 leetcode 32. 最長有效括號(Java版)

題目描述(題目難度,困難) 給定一個只包含 '(' 和 ')' 的字符串,找出最長的包含有效括號的子串的長度。 示例 1: 輸入: “(()” 輸出: 2 解釋: 最長有效括號子串爲 “()” 示例 2: 輸入: “)()(

原创 leetcode 40. 組合總和 II(Java版)

題目描述(題目難度,中等) 給定一個數組 candidates 和一個目標數 target ,找出 candidates 中所有可以使數字和爲 target 的組合。 candidates 中的每個數字在每個組合中只能使用一次。

原创 神奇的數據結構---並查集

並查集(Union Find) 何爲集,集合,用樹表示;何爲並,集合的合併(union);何爲查,查詢元素所屬集合(find)。 一、樹的雙親表示法 使用樹的雙親表示法來表示集合。如果兩個結點具有相同的根結點,就認爲這兩個結點屬於

原创 LDA 吉布斯採樣(Gibbs Sampling)的公式推導

假設讀者已經瞭解 LDA 的來龍去脈。 需要明確採樣的含義: 隨機變量是總體,採樣就是按照總體的概率分佈(指示了樣本出現的概率)抽取樣本的過程。樣本應該能正確反映總體的情況,即樣本與總體應該具有相同的統計性質(均值,方差等)。 一

原创 leetcode 46. 全排列(Java版)

題目描述(題目難度,中等) 給定一個沒有重複數字的序列,返回其所有可能的全排列。 示例: 輸入: [1,2,3] 輸出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2

原创 leetcode 42. 接雨水(Java版)

題目描述(題目難度,困難) 給定 n 個非負整數表示每個寬度爲 1 的柱子的高度圖,計算按此排列的柱子,下雨之後能接多少雨水。 上面是由數組 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度圖,在這種情況下,可以接

原创 信息熵

信息論之父 C. E. Shannon 在 1948 年發表的論文“通信的數學理論(A Mathematical Theory of Communication)”中指出,絕大部分信息都存在冗餘,冗餘大小與信息中每個符號(數字、字