Statement Expression – Statements and Declarations in Expressions

在 linux kernel 或是一些 open source 專案中,經常看到許多高深莫測的 macro 用法,其中 Linux Kernel 中最經典的 macro 之一就是 container_of ,它看起來很奇怪,因為他使用了 { 和 } 包起來,看起來像是一個 function ,但這個 function 並沒有回傳任何值。

看完之後,你可能仍然不知道這個 macro 是在做什麼,想要真正理解這個 macro,你必須先了解什麼是「Statement Expression 」。

閱讀全文〈Statement Expression – Statements and Declarations in Expressions〉

Maximum Subarray Sum 問題 – 陪你刷題

在本篇文章中,我們將使用兩道 LeetCode 原題來解釋 Maximum Subarray Sum 問題,並介紹用於解決這類問題的著名演算法 Kadane's Algorithm 。透過這些例題和演算法的解釋,希望能夠幫助讀者更好地理解這個問題,並學會使用 Kadane's Algorithm 來解決。

閱讀全文〈Maximum Subarray Sum 問題 – 陪你刷題〉

設計一個 hash table – 陪你刷題

Leetcode 第 705 和 706 題要求你設計一個 hash set 和 hash map,在 C++ 中可以使用 unordered_set 和 unordered_map,或者在輸入資料範圍不大的情況下,可以直接用陣列當作 hash table。但這題不是要求你直接使用現成的資料結構,而是讓你思考如何設計一個 hash table,這促使我想寫下這篇文章,來探討如何設計 Hash Table。

閱讀全文〈設計一個 hash table – 陪你刷題〉