如何寫程式計算時間和日期的差距? 2023 年 1 月 24 日 Magic Len 研究分享、 NodeJS、 Rust、 演算法 有時候我們會需要寫程式去計算兩個時間點的差距,以求得年齡、經過了多少的時間,或是否還在某個期限之內等等的資訊。日(day)與時、分、秒的差距很好算,因為它們是固定的時間(不考慮閏秒)。但年、月就不一樣了,一個月可能有28至31天,一年可能有365或366天,我們無法直接將兩個時間點(的時間戳記)相減之後去除上一個固定的單位(例如拿相差的秒數去除以2592000秒)來算出隔了多少年、月,硬是要這麼算... 繼續閱讀
如何寫程式判斷閏年並計算一個月有幾天? 2023 年 1 月 3 日 Magic Len Go、 Java、 NodeJS、 Rust 我們在小學階段都會學到平年(common year)和閏年(leap year)的判斷方式,以及這兩種年份是差在前者的二月有28天,後者則是有29天。所以平年整年一共有365天;閏年整年一共有366年。這是身為一個地球人的基本常識,但在小學的時候,老師可能只會告訴我們把西元年份的數字除以4,如果可以整除,那麼這年就是閏年,否則是平年。老師說的也不能說是錯的,只是不太完整,實際上,閏年的正確判斷方式... 繼續閱讀
[LeetCode]費氏數(Fibonacci Number) 2022 年 12 月 31 日 Magic Len 程式解題、 NodeJS、 Rust 費氏數通常使用F(n)函數來形成數列,稱為費氏數列。在這個數列中,每個數字都是前兩個數字的和,最前面的兩個數字為0和1。給定n,計算F(n)。 繼續閱讀
[LeetCode]漢明距離(Hamming Distance) 2022 年 12 月 24 日 Magic Len 程式解題、 NodeJS、 Rust 兩個整數的不同對應位元的數量,即為漢明距離。給定兩個整數,「x」和「y」,回傳它們的漢明距離。 繼續閱讀
[LeetCode]單獨存在的數字(Single Number) 2022 年 12 月 17 日 Magic Len 程式解題、 NodeJS、 Rust 給定一個非空的整數陣列,除了其中一個元素之外,其它的元素都重複出現了一次。找出單獨存在的那個元素。 繼續閱讀
[LeetCode]開根號 Sqrt(x) 2022 年 12 月 10 日 Magic Len 程式解題、 NodeJS、 Rust 給定一個非負數的「x」整數,計算並回傳「x」開根號的結果。 繼續閱讀
[LeetCode]二進制加法(Add Binary) 2022 年 12 月 3 日 Magic Len 程式解題、 NodeJS、 Rust 給定「a」和「b」兩個二進制數值的字串,同樣以二進制字串的格式回傳它們相加後的結果。 繼續閱讀
[LeetCode]乘冪 Pow(x, n) 2022 年 11 月 26 日 Magic Len 程式解題、 NodeJS、 Rust 實作「pow(x, n)」,用來計算「x」的「n」次方,即「x^n」。 繼續閱讀
如何寫程式處理中華民國的身份證字號? 2022 年 11 月 22 日 Magic Len 研究分享、 NodeJS、 Rust 中華民國的「身份證字號」,正式名稱為「國民身分證統一編號」,是由一個代表出生地的大寫英文字母加上九個數字所組成。雖然《戶籍法》第五十七條第一項規定「年滿十四歲者,應申請初領國民身分證;未滿十四歲者,得申請發給」,但國民就算沒有國民身份證,在出生之後報戶口就會有身份證字號了。當然,台灣不是只有本地國民而已,也存在著他國國籍的人,這類人所使用的相關編號,為了能夠方便在現有的系統中使用,已於西元2021... 繼續閱讀
[LeetCode]移除元素(Remove Element) 2022 年 11 月 19 日 Magic Len 程式解題、 NodeJS、 Rust 給定一個「nums」整數陣列和一個「val」整數,用原地(in-place)的方式移除其中所有值為的「val」元素。元素的相對位置可能會改變。 繼續閱讀