LC每日一题|20240601 - 2928. 给小朋友们分糖果 I

74 阅读1分钟

LC每日一题|20240601 - 2928. 给小朋友们分糖果 I

给你两个正整数 n 和 limit 。

请你将 n 颗糖果分给 3 位小朋友,确保没有任何小朋友得到超过 limit 颗糖果,请你返回满足此条件下的 总方案数 。

提示:

  • 1 <= n <= 50
  • 1 <= limit <= 50

题目等级:Easy

解题思路

祝大家儿童节快乐~

祝我的CUMT115周岁生日快乐~

图片.png

AC代码

class Solution {
    fun distributeCandies(n: Int, limit: Int): Long {   
        if (n.toFloat() / limit > 3.0F) return 0L
        var res = 0L
        val min = Math.max(n - 2 * limit, 0)
        for (i in min..Math.min(limit, n)) {
            val nm = Math.max(n - i - limit, 0)
            res += Math.min(n - i, limit) - nm + 1
        }
        return res
    }
}