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;
}
}
若感觉本文章对你有用,欢送用爱发电赞助。