一开始的思路是:先把胃口大的先满足,依次递减;后面发现胃口小的先满足比较符合贪心策略(把小的先满足,尽可能满足多的孩子):
然后就是疯狂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
执行通过:
彩蛋:
每天被评论笑死哈哈哈哈