All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g0401_0500.s0455_assign_cookies.Solution Maven / Gradle / Ivy

There is a newer version: 1.38
Show newest version
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