java.lang.Object
g2301_2400.s2305_fair_distribution_of_cookies.Solution

public class Solution extends Object
2305 - Fair Distribution of Cookies.<p>Medium</p> <p>You are given an integer array <code>cookies</code>, where <code>cookies[i]</code> denotes the number of cookies in the <code>i<sup>th</sup></code> bag. You are also given an integer <code>k</code> that denotes the number of children to distribute <strong>all</strong> the bags of cookies to. All the cookies in the same bag must go to the same child and cannot be split up.</p> <p>The <strong>unfairness</strong> of a distribution is defined as the <strong>maximum</strong> <strong>total</strong> cookies obtained by a single child in the distribution.</p> <p>Return <em>the <strong>minimum</strong> unfairness of all distributions</em>.</p> <p><strong>Example 1:</strong></p> <p><strong>Input:</strong> cookies = [8,15,10,20,8], k = 2</p> <p><strong>Output:</strong> 31</p> <p><strong>Explanation:</strong> One optimal distribution is [8,15,8] and [10,20]</p> <ul> <li> <p>The 1<sup>st</sup> child receives [8,15,8] which has a total of 8 + 15 + 8 = 31 cookies.</p> </li> <li> <p>The 2<sup>nd</sup> child receives [10,20] which has a total of 10 + 20 = 30 cookies.</p> </li> </ul> <p>The unfairness of the distribution is max(31,30) = 31.</p> <p>It can be shown that there is no distribution with an unfairness less than 31.</p> <p><strong>Example 2:</strong></p> <p><strong>Input:</strong> cookies = [6,1,3,2,2,4,1,2], k = 3</p> <p><strong>Output:</strong> 7</p> <p><strong>Explanation:</strong> One optimal distribution is [6,1], [3,2,2], and [4,1,2]</p> <ul> <li> <p>The 1<sup>st</sup> child receives [6,1] which has a total of 6 + 1 = 7 cookies.</p> </li> <li> <p>The 2<sup>nd</sup> child receives [3,2,2] which has a total of 3 + 2 + 2 = 7 cookies.</p> </li> <li> <p>The 3<sup>rd</sup> child receives [4,1,2] which has a total of 4 + 1 + 2 = 7 cookies.</p> </li> </ul> <p>The unfairness of the distribution is max(7,7,7) = 7.</p> <p>It can be shown that there is no distribution with an unfairness less than 7.</p> <p><strong>Constraints:</strong></p> <ul> <li><code>2 <= cookies.length <= 8</code></li> <li><code>1 <= cookies[i] <= 10<sup>5</sup></code></li> <li><code>2 <= k <= cookies.length</code></li> </ul>
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • distributeCookies

      public int distributeCookies(int[] c, int k)