原创 python的logging配置文件,支持logger全局所有文件日誌輸出

python的日誌配置文件,支持寫入到文件和控制檯;支持滾動覆蓋。 version: 1 disable_existing_loggers: False formatters: simple: format: "%(asct

原创 Scala之集合的理解和應用案例

可變集合和不可變集合 Scala 集合類系統地區分了可變的和不可變的集合; 可變集合可以在適當的地方被更新或擴展。這意味着你可以修改,添加,移除一個集合的元素。默認情況下,Scala 一直採用不可變集合類。 而不可變集合類,相比之下,

原创 Scala之閉包的理解與應用

定義 閉包是一個函數,返回值依賴於聲明在函數外部的一個或多個變量。 閉包通常來講可以簡單的認爲是可以訪問一個函數裏面局部變量的另外一個函數。 var factor = 3 val multiplier = (i:Int) => i

原创 Scala之apply的用法

用法一: 用於構造函數作用 class Greet(val age: Int) { var name: String = "" def output(): Unit = { print(this.name + ",

原创 Scala之柯里化函數

定義         柯里化(Currying)指的是將原來接受兩個參數的函數變成新的接受一個參數的函數的過程。新的函數返回一個以原有第二個參數爲參數的函數。也就是說,有多個參數列表的函數就是柯里化函數,所謂的參數列表就是使用小括號括起來

原创 Scala之Implicit的用法

     Scala在面對編譯出現類型錯誤時,提供了一個由編譯器自我修復的機制,編譯器試圖去尋找一個隱式implicit的轉換方法,轉換出正確的類型,完成編譯。這就是implicit 的意義。 一、 隱式轉換到某個期望類型 用在方法上

原创 Scala之模式匹配的理解和應用

Scala 提供了強大的模式匹配機制,應用也非常廣泛。一個模式匹配包含了一系列備選項,每個都開始於關鍵字 case。每個備選項都包含了一個模式及一到多個表達式。箭頭符號 => 隔開了模式和表達式。 通配模式、變量匹配和守衛 通配符 “

原创 Scala之高階函數的理解和應用舉例

定義         1. 帶函數參數的函數被稱爲高階函數,例如map()函數就是高階函數。 Demo1 class HighLevelFunc object HighLevelFunc { def main(args: Arra

原创 Leetcode-[難度中] 兩數之和

題目描述 給定一個整數數組 nums 和一個目標值 target,請你在該數組中找出和爲目標值的那 兩個 整數,並返回他們的數組下標。 你可以假設每種輸入只會對應一個答案。但是,你不能重複利用這個數組中同樣的元素。 例: 給定 nums

原创 Leetcode-[簡單]:二進制鏈表轉整數

題目:     給你一個單鏈表的引用結點 head。鏈表中每個結點的值不是 0 就是 1。已知此鏈表是一個整數數字的二進制表示形式。     請你返回該鏈表所表示數字的 十進制值 。   例1: 輸入:head = [1,0,1] 輸

原创 Leetcode-[簡單]:將數字變成0的操作次數

題目:     給定一個非負整數 ,請返回將它變成 0 所需步數。如果數字是偶數,需要把它除以 2 ;否則,減去 1 。 例1: 輸入:num = 8 輸出:4 解釋: 步驟 1) 8 是偶數,除以 2 得到 4  步驟 2) 4 是偶

原创 Leetcode-[簡單]:用隊列實現棧

題目:用隊列實現棧 使用隊列實現棧的下列操作:     push(x) -- 元素 x 入棧     pop() -- 移除棧頂元素     top() -- 獲取棧頂元素     empty() -- 返回棧是否爲空 Code(JAVA

原创 Leetcode-[簡單] 環形鏈表

題目:     給一個鏈表,判斷鏈表中是否存在環。  例 1: 輸入:head = [3,2,0,-4] 輸出:true 例 2: 輸入:head = [1,2] 輸出:true 例 3: 輸入:head = [1] 輸出:

原创 Leetcode-[簡單] 鏈表的中間結點

  題目:        給一個頭結點非空單鏈表,返回鏈表中間結點。如有兩個中間結點,則返回第二個中間結點。 例1:     輸入:[0,1,3,4,6]     輸出:結點 3    例2:     輸入:[0,1,2,4,5,7]  

原创 Leetcode-[簡單]:用兩個棧實現隊列

題目:     用兩個棧實現一個隊列。隊列聲明如下,請實現函數 appendTail 和 deleteHead ,分別完成在隊列尾部插入整數和在隊列頭部刪除整數的功能。(若隊列中沒有元素,deleteHead 操作返回 -1 ) 例 1: