Leetcode PHP题解--D127 455. Assign Cookies

码农天地 -
Leetcode PHP题解--D127 455. Assign Cookies
D127 455. Assign Cookies题目链接

455. Assign Cookies

题目分析

给定两个数组,第一个数组代表每个容器的容量,第二个数组代表每种物品的个数。需要把物品塞入容器里面,但是有两个条件。

条件一:一个容器内只能塞一种物品;

条件二:一种物品只能塞入一个容器,但可以不塞完。

例如,容器大小为1,物品数量为3时,该物品可以塞入该容器内,但剩余的2件物品不能再拿去塞入其他容器内。

尽可能地塞满所有容器,返回塞满了的容器个数。

解题思路

一开始我没注意到可以不塞完这个条件,于是直接返回计算交集元素个数。

首先,为了尽可能塞满以及减少浪费,需要对两个数组进行降序排序。否则容器内会出现较多空档。

接下来,就要开始分配物品了。因为分配的物品可以有剩,因此我们从物品数量数组出发,如果当前物品数量大于或等于当前容器容量,既分配给它。如果小于,就说明已经无法给容器塞入物品了。一旦分配成功,直接开始分配下一个物品。

最终代码
<?php

class Solution {

    /**
     * @param Integer[] $g
     * @param Integer[] $s
     * @return Integer
     */
    function findContentChildren($g, $s) {
        $total = 0;
        foreach($s as $key => $value){
            while( !is_null(key($g)) ){
                if (current($g)<=$value ){
                    $total++;
                    next($g);
                    break;
                }
                next($g);
            }
        }
        return $total;
    }
}

若觉得本文章对你有用,欢迎用爱发电资助。

特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

php介绍

PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。
上一篇: php pdf如何转jpg

Tags 标签

leetcodephp

扩展阅读

加个好友,技术交流

1628738909466805.jpg