# LC 455. Assign Cookies ### [Problem link](https://leetcode.com/problems/assign-cookies/) ###### tags: `leedcode` `python` `c++` `easy` `Greedy` Assume you are an awesome parent and want to give your children some cookies. But, you should give each child at most one cookie. Each child <code>i</code> has a greed factor <code>g[i]</code>, which is the minimum size of a cookie that the child will be content with; and each cookie <code>j</code> has a size <code>s[j]</code>. If <code>s[j] >= g[i]</code>, we can assign the cookie <code>j</code> to the child <code>i</code>, and the child <code>i</code> will be content. Your goal is to maximize the number of your content children and output the maximum number. **Example 1:** ``` Input: g = [1,2,3], s = [1,1] Output: 1 Explanation: You have 3 children and 2 cookies. The greed factors of 3 children are 1, 2, 3. And even though you have 2 cookies, since their size is both 1, you could only make the child whose greed factor is 1 content. You need to output 1. ``` **Example 2:** ``` Input: g = [1,2], s = [1,2,3] Output: 2 Explanation: You have 2 children and 3 cookies. The greed factors of 2 children are 1, 2. You have 3 cookies and their sizes are big enough to gratify all of the children, You need to output 2. ``` **Constraints:** - <code>1 <= g.length <= 3 * 10<sup>4</sup></code> - <code>0 <= s.length <= 3 * 10<sup>4</sup></code> - <code>1 <= g[i], s[j] <= 2<sup>31</sup> - 1</code> ## Solution 1 - Greedy #### Python ```python= class Solution: def findContentChildren(self, g: List[int], s: List[int]) -> int: g.sort() s.sort() g_idx = 0 s_idx = 0 while g_idx < len(g) and s_idx < len(s): if s[s_idx] >= g[g_idx]: g_idx += 1 s_idx += 1 return g_idx ``` #### C++ ```cpp= class Solution { public: int findContentChildren(vector<int>& g, vector<int>& s) { sort(g.rbegin(), g.rend()); sort(s.rbegin(), s.rend()); int res = 0; for (int gIdx = 0, sIdx = 0; gIdx < g.size() && sIdx < s.size(); gIdx++) { if (s[sIdx] >= g[gIdx]) { sIdx++; res++; } } return res; } }; ``` >### Complexity >| | Time Complexity | Space Complexity | >| ----------- | --------------- | ---------------- | >| Solution 1 | O(nlogn) | O(n) | ## Note 優先用大餅乾餵飽胃口比較大的孩子