Fair Distribution of Cookies LeetCode solution in Python
1class Solution:2def distributeCookies(self, cookies: List[int], k: int) -> int:3ans = float('inf')4fair = [0]*k5def rec(i):6nonlocal ans,fair7if i == len(cookies):8ans = min(ans,max(fair))9return10# Bounding condition to stop a branch if unfairness already exceeds current optimal soltution11if ans <= max(fair):12return13for j in range(k):14fair[j] += cookies[i]15rec(i+1)16fair[j] -= cookies[i]17rec(0)18return ans