Leetcode-分发饼干

在这里插入图片描述

一开始的思路是:先把胃口大的先满足,依次递减;后面发现胃口小的先满足比较符合贪心策略(把小的先满足,尽可能满足多的孩子):
然后就是疯狂debug时间。。。。
在这里插入图片描述
对自己真的很无语。。。。

class Solution:
    def findContentChildren(self, g: List[int], s: List[int]) -> int:
        k = 0
        count = 0           ## 统计被满足的孩子个数
        g.sort(reverse=False)    ## 排序,reverse=False为顺序,reverse=True为逆序(我一开始自己写排序,结果超时了。。。有函数不用是傻蛋)
        s.sort(reverse=False)
        if(len(s)>1):     ## 若有一块饼干以上
            for i in range(len(g)):     ## 指针i指向当前孩子
                while(k != len(s)):     ## 指针k指向当前饼干
                    if(g[i]>s[k]):     ## 当前饼干满足不了当前孩子,饼干指针
                        k = k+1        ## 饼干指针往后挪(后面的饼干大)
                    else:
                        count = count+1    ## 满足
                        k = k+1         ## 下一块饼干
                        break
        elif(len(s)==1):         ## 只有一块饼干
            for i in range(len(g)):
                if(s[0]>=g[i]):       ## 能满足一个孩子,返回1
                    return 1
        else:   ## 若没有饼干
            return 0
        return count

执行通过:
在这里插入图片描述

彩蛋:

在这里插入图片描述
每天被评论笑死哈哈哈哈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值