g0401_0500.s0455_assign_cookies.Solution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java21 Show documentation
Show all versions of leetcode-in-java21 Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
package g0401_0500.s0455_assign_cookies;
// #Easy #Array #Sorting #Greedy #2022_07_18_Time_12_ms_(41.00%)_Space_52.6_MB_(78.45%)
import java.util.Arrays;
/**
* 455 - Assign Cookies\.
*
* Easy
*
* 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 `i` has a greed factor `g[i]`, which is the minimum size of a cookie that the child will be content with; and each cookie `j` has a size `s[j]`. If `s[j] >= g[i]`, we can assign the cookie `j` to the child `i`, and the child `i` 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:**
*
* * 1 <= g.length <= 3 * 104
* * 0 <= s.length <= 3 * 104
* * 1 <= g[i], s[j] <= 231 - 1
**/
public class Solution {
public int findContentChildren(int[] g, int[] s) {
Arrays.sort(g);
Arrays.sort(s);
int result = 0;
int i = 0;
int j = 0;
while (i < g.length && j < s.length) {
if (s[j] >= g[i]) {
result++;
i++;
}
j++;
}
return result;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy