Kotlin Leetcode - 2894. Divisible and Non-divisible Sums Difference
題目連接:https://leetcode.com/problems/divisible-and-non-divisible-sums-difference/
class Solution {
fun differenceOfSums(n: Int, m: Int): Int {
}
}
解題思路
這一題是處理 1 到 n 的一系列數字運算
利用 Kotlin 的 range 以及 filter
可以很快地找到題目要求的 num1
和 num2
另外也可以直接將能被 m
整除的數字減掉
這樣的話可以直接使用 fold
來回答這個題目
Kotlin 參考解答
依照題目使用 num1
num2
進行回答
class Solution {
fun differenceOfSums(n: Int, m: Int): Int {
val num1 = (1..n).filter { it % m != 0 }.sum()
val num2 = (1..n).filter { it % m == 0 }.sum()
return num1 - num2
}
}
使用 fold
的解法
class Solution {
fun differenceOfSums(n: Int, m: Int) = (1..n).fold(0){acc, num -> if (num % m == 0) acc - num else acc + num}
}
- 回到 leetcode 列表