不知道大家有沒有看過一本書叫做七週七語言,這本書用七週的時間,每個禮拜都介紹一門新語言。而我最近剛好看到Hackerrank有一個專欄叫做 "30 Days of Code",於是我就想說,何不把這兩個概念結合在一起,來挑戰看看30天內用四種語言(Scala、Python、Golang、Rust),也就是四週四,來完成這個專欄呢?因此就有這個 "30天的四週四語言大挑戰" 計畫啦!我不會像坊間已經很多的101教學文,也不會只是貼Code,而是從實作出發,並拆解其中的精妙之處,讓你就算本來不懂,經過30天後也能和我一起對這四門語言有深入淺出的了解啦!(我也不知道為什麼我要這麼自虐呀呀呀呀)
今天我們要來談談 Sorting,也就是排序。排序看似不起眼,但其實在電腦的世界扮演了許多關鍵的角色,例如當我們要更有效率地搜尋出某個東西的時候,又例如我們要按...
今天要來談談 Generic。由於靜態語言對於宣告的類型有嚴格的規定,Generic 的出現則是讓這件事情變得更加彈性,可以將一套程式碼複用在不同類型的資料上。...
今天我們要來看的是 Binary Search Tree (BSTs)。Tree 是由有限節點組成具有層次關係的集合。以下圖為例,最上面的節點稱作根節點 (Ro...
今天的主題是延續昨天的 Binary Search Tree,我們要來看其中一種 Traversal 的方法,所謂 Traversal 就是用某種順序來走訪 B...
今天在 Hackerrank 的主題是,延續我們之前研究的 Linked list,為這個 Linked list 去增加一個 Function 來把 Link...
今天 Hackerrank 的主題是探討時間複雜度,透過的題目是給定一個整數,看看這個整數是不是質數。假設這個質數是 n 的話,希望解法的時間複雜度是 O(根號...
老實說今天 Hackerrank 的主題讓我有點不想浪費一天的篇幅去講,因為是在講 Nested Logic,說穿了就只是要你練習兩層以上的 If Else 之...
先前寫了那麼多程式,是時候來談談測試了。這裡的測試指的是 Unit test,大部分的時間是以一個 Function、Class 等等為單位去測試,看輸入幾組設...
今天要來看看一個大家應該不會太陌生,但對我來說每次只要一久不用就會忘掉的正規表示式 (Regular expression)。正規表示式在處理複雜規則的字串很有...
今天是鐵人賽的最後一天了。老實說每天要四個語言實在是有點太高估自己的時間狀況,加上 Context Switch 的成本,導致過程之中許多時候都只能先寫部分再慢...