Kata Practice - Find the smallest integer in the array (JavaScript)

Kata Practice - Find the smallest integer in the array (JavaScript)

這個系列會把自己練習過的 Kata 題目記錄下來,希望除了記錄的性質以外也能夠觀察自己撰寫程式邏輯的進化過程。如果有幸看到這邊的話也可以參考一下,再到 Codewars 的網站註冊一個帳號試著玩看看,自己蠻喜歡整個網站的得分和排行榜設定,會讓人越寫越有成就感喔!

題目

Given an array of integers your solution should find the smallest integer.

For example:

  • Given [34, 15, 88, 2] your solution will return 2
  • Given [34, -345, -1, 100] your solution will return -345

You can assume, for the purpose of this kata, that the supplied array will not be empty.

自己的解法

1
2
3
4
5
class SmallestIntegerFinder {
findSmallestInt(args) {
return Math.min(...args)
}
}

解題脈絡

直接 Google 找尋有沒有任何方法可以找尋一個陣列中的最小值,於是看到的 Math.min 這個方法。有點無趣的解法,不過算是淺顯易懂且直接的一個方式。

其他人的解法

1
2
3
4
5
class SmallestIntegerFinder {
findSmallestInt(args) {
return args.sort((a,b)=>a-b)[0];
}
}

選擇記錄這個解法的原因

我喜歡這個人先使用了陣列的 sort 方法將所傳進來的陣列先進行由小到大的排序,最後再選取重新整理順序的陣列內第一個的值就會是題目所要求的最小整數了!

觀念釐清

今天第一次有那種原來就算自己寫出最佳寫法好像也沒什麼的感覺,因為看到別人的解法還有下面的討論串你就會發現,要達成題目所要求的結果其實真的不只有那幾種常見的解法。
有時候透過別人提交的答案你還會發現一些以前沒有的思考方式和解題思維,真的挺不錯的!

那我們就下次見ʘ‿ʘ

評論