难度:简单
昨天困难题,不会做,官解写得通俗易解,所以跳过了
今天虽然是简单题,但是如果没有测试结果,想要一次性通过的话也是要好好考虑考虑的
思路;
- 每个人至少1美元,那么每个人就先分1美元,此时如果钱不够那么就直接返回 -1
- 看剩下的钱能分几个 7 美元出来,此时有以下几种情况
- 正好能分给所有人
- 恰好分给 children - 1 个人,此时要判断最后一个人分的是不是 3,如果是 3 那么最后的总人数还要 -1;不是 3 的话,答案就是 children - 1
- 能分超过 children 个 7 出来。那么答案还是 children - 1
class Solution:
def distMoney(self, money: int, children: int) -> int:
if money / 8 > children:
return children - 1
money -= children
ans = money // 7
if ans == children - 1 and money % 7 == 3:
ans -= 1
return ans if money >= 0 else -1