leetcode-455. 分發餅乾
阿新 • • 發佈:2021-11-10
題目
https://leetcode-cn.com/problems/assign-cookies/
解法
直覺思路
先排序,然後根據胃口最小的孩子找能滿足的最小的餅乾
class Solution { /** * @param Integer[] $g * @param Integer[] $s * @return Integer */ function findContentChildren($g, $s) { sort($g); sort($s); $ret = 0; $sKey = 0; foreach ($g as $gItem) { while(($sItem = reset($s)) !== false) { if ($sItem >= $gItem) { $ret ++; array_shift($s); break; } else { array_shift($s); } } } return $ret; } }
因為 array_shift
會對陣列做調整的原因,效能會比較差一點,可以做一點小優化
class Solution { /** * @param Integer[] $g * @param Integer[] $s * @return Integer */ function findContentChildren($g, $s) { sort($g); sort($s); $ret = 0; $sKey = 0; foreach ($g as $gItem) { for ($j = $sKey; $j < count($s); $j++) { $sKey++; if ($s[$j] >= $gItem) { $ret++; break; } } } return $ret; } }
本文來自部落格園,作者:吳丹陽-cn,轉載請註明原文連結:https://www.cnblogs.com/wudanyang/p/15531372.html