设三类礼盒数量分别为 a、b、c,则:
a、b、c
a + b + c = n 5a + 3b + c = m
将两式相减,得到:
4a + 2b = m - n
枚举 a 后,b 可以直接计算:
a
b
b = (m - n - 4a) / 2
只需检查分子是否为非负偶数,以及 c=n-a-b 是否非负。
c=n-a-b
这比同时枚举 a、b、c 更快,体现了“枚举一个量,计算其他量”的降维思想。
时间复杂度为 O(n),空间复杂度为 O(1)。
O(n)
O(1)
使用您的 星源智一OJ 通用账户