Kotlin Leetcode - 3190. Find Minimum Operations to Make All Elements Divisible by Three
題目連接:https://leetcode.com/problems/find-minimum-operations-to-make-all-elements-divisible-by-three/
class Solution {
fun minimumOperations(nums: IntArray): Int {
}
}
解題思路
這一題考的是對陣列的處理
我們要找出陣列內所有無法被三整除的數字
利用 Kotlin 的 fold
函數或者 sumBy
函數
可以將這段邏輯簡化成單一表達式完成
Kotlin 參考解答
點擊展開解答
傳統使用 for loop 的寫法
class Solution {
fun minimumOperations(nums: IntArray): Int {
var res = 0;
for(num in nums) {
if(num % 3 > 0) res++;
}
return res;
}
}
使用 fold
的版本
class Solution {
fun minimumOperations(nums: IntArray) = nums.fold(0){acc, num -> if (num % 3 == 0) acc else acc + 1}
}
使用 sumBy
的版本
class Solution {
fun minimumOperations(nums: IntArray) = nums.sumBy { if (it % 3 > 0) 1 else 0 }
}
- 回到 leetcode 列表