zoukankan      html  css  js  c++  java
  • [刷题] 455 Assign Cookies

    要求

    • 贪心算法的关键:判断问题是否可以用贪心算法解决
    • 给小朋友们分饼干,每个小朋友“贪心指数”为g(i),饼干大小值s(i)
    • g(i):小朋友需要的饼干大小的最小值
    • 若s(j)>=g(i),则将饼干j分给小朋友i,小朋友会开心
    • 给定s、g,问如何分配饼干,能让最多的小朋友开心

    示例

    • g=[1,2,3], s=[1,1], 输出1
    • g=[1,2], s=[1,2,3], 输出2

    思路

    • 将最大的饼干给最贪心的小朋友
    • 先对数组排序
    • 复杂度:nlogn

    实现

    • 从大到小排序
    • si:指向饼干
    • gi:指向小朋友
    • res:记录有多少小朋友开心
     1 class Solution {
     2 public:
     3     int findContentChildren(vector<int>& g, vector<int>& s) {
     4         
     5         sort(g.begin(), g.end(), greater<int>());
     6         sort(s.begin(), s.end(), greater<int>());
     7         
     8         int si = 0 , gi = 0 ; 
     9         int res = 0 ; 
    10         while( gi < g.size() && si < s.size() ){
    11             
    12             if( s[si] >= g[gi] ){
    13                 res ++ ; 
    14                 si ++ ;
    15                 gi ++ ;
    16             }
    17             else
    18                 gi ++; 
    19         }
    20         return res;
    21     }
    22 };
    View Code

    相关

    • 392 Is Subsequence
  • 相关阅读:
    Linux私房菜——防火墙部分笔记
    ubuntu
    序列求和
    圆的面积
    Fibonacci数列
    JavaScript中定义数组
    C语言中的EOF
    jQuery获取的值去掉px
    jQuery中单引号和双引号的使用
    jQuery报错:Uncaught ReferenceError: $ is not defined
  • 原文地址:https://www.cnblogs.com/cxc1357/p/12776719.html
Copyright © 2011-2022 走看看