「哈囉兩位!今天我們來寫 leetcode 吧!」夏天開心的說。
「夏姐,我們又不是要去 Google 還是 Meta 工作,有必要現在刷 leetcode 嗎?」
「並不是為了大公司的面試,才讓兩位刷 leetcode 的。
而是為了在看過語法、結構等等之後,有個實際練習撰寫的機會。這個練習的經驗,不管是對第一次寫程式的曉欣,或者是已經寫過一陣子的你來說,都是很珍貴的機會。
比起看書勉強自己去記這些語法,實際寫過一次,印象才會深刻。不是嗎?」
兩位半信半疑的打開自己的電腦,開始搜尋 leetcode 的位置在哪。
打開 leetcode 的 Problems 頁面後(https://leetcode.com/problemset/all/ ),看到一堆題目的列表,曉欣和菁菁互看了一眼。這麼多的題目,該怎麼下手比較好呢?
「那個⋯⋯老師很抱歉,我這幾天比較忙,《深入淺出 Kotlin》這本書看的進度還沒有很多⋯⋯」
「不需要那麼緊張啦,還有不要叫我老師」夏天笑著說。
「我們可以從最簡單的題目開始撰寫。你們都會寫把兩個數字加在一起的程式吧?」
菁菁疑惑的點點頭,似乎覺得為什麼要問這麼奇怪的問題。
「很好,我們先來寫 2235. Add Two Integers 這一題看看,這一題對菁菁應該是很簡單了。」
搜尋題目標題,打開頁面之後,已經有程式撰寫經驗的菁菁,很快的掃過題目需求,開始寫程式,送出答案。
曉欣試著回想之前看過的教學:「範例程式碼裡面的 fun
應該是『函式』的意思,要能回傳計算結果的話,要寫 return
關鍵字。所以應該是這樣寫⋯⋯」
class Solution {
fun sum(num1: Int, num2: Int): Int {
return num1 + num2
}
}
送出答案之後,看到 「Accepted」的字樣跳出來,曉欣鬆了一口氣。
「寫 leetcode 題目沒有想像中的困難,對吧?」
「對耶!原本我以為 leetcode 上面的題目,都需要一些很複雜的演算法,沒想到也有這麼簡單的題目。」
「原來寫程式的感覺是這樣,我忽然覺得我好像也可以寫程式!」
「那我們換個寫法看看,還記得內容只有一個運算式的函式的話,可以怎麼寫嗎?」
「什麼意思?」菁菁疑惑的說。曉欣想起剛好在《深入淺出 Kotlin》看過的介紹,嘗試改寫原本的寫法。
class Solution {
fun sum(num1: Int, num2: Int): Int
= num1 + num2
}
「是這樣嗎?」
「送出看看,不就知道了嗎?」
「這個寫法好特殊,之前我寫過的程式,好像沒看過這樣的寫法。」看到成功送出的菁菁不禁感嘆。
「沒錯,這是 Kotlin 比較特有的寫法,曉欣你記的很清楚。」
「感覺今天兩位都很有收穫呢,今天上課就先到這邊吧!再來是姐妹們的下午茶時間了──我再去點一杯咖啡來喝。」