Back to Leetcode

Readme

Binary_Search/2226.Maximum-Candies-Allocated-to-K-Children/Readme.md

latest810 B
Original Source

2226.Maximum-Candies-Allocated-to-K-Children

这是一道非常明显的二分搜值的题目。

我们令每个孩子可以分得的糖果数目记做x。如果x很大,意味着我们可以构造的、符合条件(即每堆恰有x个糖果)的堆数会变少,极有可能最终不够k堆。反之,如果x很小,意味着我们可以构造出更多的、符合条件的堆数,甚至超过k堆,导致这个答案不够优秀。所以我们可以通过二分搜索尝试不同的x的值,来逼近最大的x,使得构造出的堆数恰好大于等于k。

对于给定的x,将每堆的糖果个数除以x,就是该堆可以拆分出的、符合条件的堆数。我们只需检验符合条件的总堆数是否大于等于k即可。

此题和1891. Cutting Ribbons一模一样.