题目描述:

分发饼干 - 图1

代码实现:

  • 贪心算法,先排序,之后删掉s的第一个元素,并比较它和g的第一个元素的大小,如果比它大于等于,则删除掉g的第一个元素。
  • 时间复杂度:O(nlogn)
  1. /**
  2. * @param {number[]} g
  3. * @param {number[]} s
  4. * @return {number}
  5. */
  6. var findContentChildren = function(g, s) {
  7. s.sort((a, b) => a - b)
  8. g.sort((a, b) => a - b)
  9. var flag = g.length
  10. while (s.length && g.length) {
  11. if (s.shift() >= g[0]) {
  12. g.shift()
  13. }
  14. }
  15. return flag - g.length
  16. };

分发饼干 - 图2