思路:

尽量先将小饼干分配给胃口小的孩子,故而饼干和孩子胃口都应该先排序。

python中,a.sort()只能用于a为list, sort()是可变对象的方法,无参数,无返回值,但会影响改变对象。

sorted()不会发生上述情况,sorted()函数需要一个参数(参数可以是列表、字典、元组、字符串,所有的可迭代序列都行)

只是要注意一点,g和s长度不定,需要确保所有的饼干都可以遍历到且胃口索引没有超出。

class Solution(object):
def findContentChildren(self, g, s):
"""
:type g: List[int]
:type s: List[int]
:rtype: int
"""
g.sort()
s.sort()
i,j=0,0 #while的变量要提前赋值
# count=0
# while i <len(s) and j <len(g):
# if s[i]>=g[j]:
# count+=1
# i+=1
# j+=1
# else:
# i+=1
# # g.popleft() #list没有popleft函数,deque才能这样双端操作
# # del s[0] #进行删除就会改变索引,发生超出索引的情况
# return count while i <len(s) and j <len(g):
if s[i]>=g[j]:
j+=1
i+=1
return j

复杂度分析:

  • 时间复杂度:O(nlogn+nlongn+n)=O(nlogn),sort()为O(nlogn)
  • 空间复杂度:O(1)

[LeetCode] 455. 分发饼干 assign-cookies(贪心算法)的更多相关文章

  1. Java实现 LeetCode 455 分发饼干

    455. 分发饼干 假设你是一位很棒的家长,想要给你的孩子们一些小饼干.但是,每个孩子最多只能给一块饼干.对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸:并且每块饼干 ...

  2. [Swift]LeetCode455. 分发饼干 | Assign Cookies

    Assume you are an awesome parent and want to give your children some cookies. But, you should give e ...

  3. LeetCode 455.分发饼干(C++)

    假设你是一位很棒的家长,想要给你的孩子们一些小饼干.但是,每个孩子最多只能给一块饼干.对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸:并且每块饼干 j ,都有一个尺寸 ...

  4. LeetCode:分发饼干【455】

    LeetCode:分发饼干[455] 题目描述 假设你是一位很棒的家长,想要给你的孩子们一些小饼干.但是,每个孩子最多只能给一块饼干.对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的 ...

  5. Leetcode题目55.跳跃游戏(贪心算法-中等)

    题目描述: 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例 1: 输入: [2,3,1,1,4] 输出: ...

  6. LeetCode455 分发饼干(简单贪心—Java优先队列简单应用)

    题目: 假设你是一位很棒的家长,想要给你的孩子们一些小饼干.但是,每个孩子最多只能给一块饼干.对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸:并且每块饼干 j ,都有 ...

  7. C#LeetCode刷题-贪心算法

    贪心算法篇 # 题名 刷题 通过率 难度 44 通配符匹配   17.8% 困难 45 跳跃游戏 II   25.5% 困难 55 跳跃游戏   30.6% 中等 122 买卖股票的最佳时机 II C ...

  8. leedcode_贪心算法系列

    861. 翻转矩阵后的得分 思路: 行首的权值最大,故首先将其置1; 每列由于权值相同,故只需要将0多于1的情况反转即可 763. 划分字母区间 思路: 1.计算每个字母的最右边界下标,并记录到新数组 ...

  9. 【LeetCode】455. Assign Cookies 解题报告(Java & Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 Java解法 Python解法 日期 [LeetCo ...

随机推荐

  1. js获取路径参数对象

    /** * 获取页面路径参数值 */ function getParams(key) { var result = {}; var paramStr = encodeURI(window.docume ...

  2. Extjs iconCls 的用法

    如何在按钮中加icon: 1.在Extjs中 { xtype:'button', text:'学生档案', iconCls:'file', }, 2.在css中写: .file{ background ...

  3. tomcat 映射虚拟路径

    编辑server.xml   在  <Host></Host>中添加 <Context path="/renbao/img/" docBase=&qu ...

  4. [LeetCode] 860. 柠檬水找零 lemonade-change(贪心算法)

    思路: 收到5块时,只是添加:收到十块时,添加10块,删除一个5块:收到20块时,添加20,删除一个10块一个5块,或者直接删除3个5块(注意:这里先删除5+10优于3个5) class Soluti ...

  5. STM32 抢占优先级和响应优先级

    一.抢占优先级和响应优先级 STM32 的中断向量具有两个属性,一个为抢占属性,另一个为响应属性,其属性编号 越小,表明它的优先级别越高. 抢占,是指打断其他中断的属性,即因为具有这个属性会出现嵌套中 ...

  6. C 语言中函数的跳转

    1.同一个函数内,可以使用goto语句: eg: void  text_1( void ) { char i=0; a : i++; printf ( " text_1 = %d \r\n& ...

  7. tring.Format格式化用法

    (数字保留两位小数,且每隔3为用逗号隔开): string.format("1f,.2d",333) -->333.00 string.format("1f,.2d ...

  8. oracle刚開始学习的人经常使用操作100问

    oracle刚開始学习的人经常使用操作100问 1. Oracle安装完毕后的初始口令?   internal/oracle sys/change_on_install system/manager ...

  9. YII 数据库查询

    $userModel = User::Model(); $userModel->count(); $userModel->count($condition); $userModel-> ...

  10. hdoj 2222 Keywords Search 【AC自己主动机 入门题】 【求目标串中出现了几个模式串】

    Keywords Search Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others ...