zoukankan      html  css  js  c++  java
  • 分发饼干

    分发饼干

    题目:
    假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。

    对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。

    示例 1:

    输入: g = [1,2,3], s = [1,1]
    输出: 1
    解释:
    你有三个孩子和两块小饼干,3个孩子的胃口值分别是:1,2,3。
    虽然你有两块小饼干,由于他们的尺寸都是1,你只能让胃口值是1的孩子满足。
    所以你应该输出1。
    示例 2:

    输入: g = [1,2], s = [1,2,3]
    输出: 2
    解释:
    你有两个孩子和三块小饼干,2个孩子的胃口值分别是1,2。
    你拥有的饼干数量和尺寸都足以让所有孩子满足。
    所以你应该输出2.

    解题思路:先将两数组进行排序,之后遍历g数组找到最小的sj >= gi即可

    class Solution {
        public int findContentChildren(int[] g, int[] s) {
            int gLen = g.length, sLen = s.length;
            if(s.length == 0)
                return 0;
            
            Arrays.sort(g);
            Arrays.sort(s);
            
            int j = 0, ans = 0;
            for(int i = 0; i < gLen; i++) {
                while(j < sLen && s[j] < g[i]) {
                    j++;
                }
                
                if(j < sLen) {
                    ans++;
                    j++;
                }
            }
            
            return ans;
        }
    }
    
  • 相关阅读:
    uitoolbar 圆角
    json
    MFC 控件使用笔记
    automake和autoconf使用介绍
    [译]C# Socket连接请求超时机制
    linux 环境变量的配置
    OK6410,修改调试串口,屏蔽调试输出,增加启动画面
    UML图各类符号含义
    图解UML类与类之间的六中关系
    C#综合揭秘——深入分析委托与事件
  • 原文地址:https://www.cnblogs.com/katoMegumi/p/14187448.html
Copyright © 2011-2022 走看看