MD5 筆記 MD5 Intro MD5 訊息摘要演算法(英語:MD5 Message-Digest Algorithm),一種被廣泛使用的密碼雜湊函式,可以產生出一個128位元(16個字元(BYTES))的雜湊值(hash value),用於確保資訊傳輸完整一致。(節自wiki) 簡易 MD5 工具 : md5sum 基本上 Unix, Linux 的作業系統都有預設 md5sum ... Read More
讀取 Linux file info (stat) 讀取 Linux 的檔案資訊 Linux 的檔案有很多資訊,即使只用到檔案大小也是很方便。 stat struct stat stat 的資料結構 #include <sys/stat.h> struct stat { dev_t st_dev; /* ID of device containing... Read More
vscode 刪除空格 (Remove trailing spaces) 使用 vscode 自動刪除空格的原因 當你上 code 時,有 reviewer 看你的程式碼時,通常會用 meld 等軟體 review。當你的程式碼加了多餘的空格時,都會被這些程式碼 highlight,使得 reviewer 在查看你的程式碼時有一定的不便。 vscode 刪除空格 手動刪除空格 (Remove trailing spaces manually) ... Read More
Leet code 最近一直寫 Leetcode,部落格也就荒廢許久,想說突破 200 題來分享一下心得。 Distance question Leetcode 上有很多問題是關於距離,這裡紀錄下一些有用的數學概念。 平均值 (mean) 平均值的歐幾里得距離最短 (4*4 + 4*4 < 1*1 + 7*7) 但相乘值最大 (4*4 > 1*7) 中位數... Read More
Topological Ordering 介紹 Directed Acyclic Graph (DAG) 介紹 不同於 Tree 的無方向、無環,DAG 則是有方向、無環。DAG 特性是不斷地前進,有時分流、有時合流,日常常見的 DAG 為族譜、水流以及課程擋修規則。 實作 Topological Ordering 拿課程擋修規則為例,有必須先修的課程及後修的課程,將其完整排列出來視為 Topological... Read More
Distance 筆記 最近一直寫 Leetcode,部落格也就荒廢許久,想說突破 200 題來分享一下心得。 Distance question Leetcode 上有很多問題是關於距離,這裡紀錄下一些有用的數學概念。 平均值 (mean) 平均值的歐幾里得距離最短 (4*4 + 4*4 < 1*1 + 7*7) 但相乘值最大 (4*4 > 1*7) 中位數... Read More
Segment Tree 筆記 Segment-Tree 介紹 主要用來找區間最大值或區間總和。由於我是為了這題所以以區間總和做介紹。下面陣列是應對區間總和,每個 node 紀錄的有起始點, 結束點及區間總和,EXAMPLE: [0,4] 代表 index 0 ~ 4 的總和,其總和為 10,[0,0] 代表 index 0~0 也就是 nums[0] 的本身值。至於樹為什麼長這樣跟 Build tree... Read More