如何制作一网站,wordpress免登录付费阅读,怎么样推广自己的网址,新网站怎么做推广目录
860.柠檬水找零
思路
代码 406.根据身高重建队列
思路
代码
452. 用最少数量的箭引爆气球
思路
代码 860.柠檬水找零 本题看上好像挺难#xff0c;其实挺简单的#xff0c;大家先尝试自己做一做。 代码随想录 思路 这题还有什么难不难的#xff0c;这道题不是非…目录
860.柠檬水找零
思路
代码 406.根据身高重建队列
思路
代码
452. 用最少数量的箭引爆气球
思路
代码 860.柠檬水找零 本题看上好像挺难其实挺简单的大家先尝试自己做一做。 代码随想录 思路 这题还有什么难不难的这道题不是非常经典的入门题吗。能用10块找零就不用5块10块没了再用5块就这么简单。
代码
class Solution:def lemonadeChange(self, bills: List[int]) - bool:five 0ten 0twenty 0for bill in bills:# 情况一收到5美元if bill 5:five 1# 情况二收到10美元if bill 10:if five 0:return Falseten 1five - 1# 情况三收到20美元if bill 20:# 先尝试使用10美元和5美元找零if five 0 and ten 0:five - 1ten - 1#twenty 1# 如果无法使用10美元找零则尝试使用三张5美元找零elif five 3:five - 3#twenty 1else:return Falsereturn True 406.根据身高重建队列 本题有点难度和分发糖果类似不要两头兼顾处理好一边再处理另一边。 代码随想录 思路 这题我写过 只是我已经忘记怎么写了每日崩溃1/1。大体上来说就是先按照身高排序最高的在最前面一样高的比较数组中的第二位第二位小的排前面。这样的好处就是我后面从前向后遍历每一个人时我可以根据数组的第二位直接insert到que[ ]对应的位置。
代码
class Solution:def reconstructQueue(self, people: List[List[int]]) - List[List[int]]:# 先按照h维度的身高顺序从高到低排序。确定第一个维度# lambda返回的是一个元组当-x[0](维度h相同时再根据x[1]维度k从小到大排序people.sort(keylambda x: (-x[0], x[1]))que []# 根据每个元素的第二个维度k贪心算法进行插入# people已经排序过了同一高度时k值小的排前面。for p in people:que.insert(p[1], p)return que 452. 用最少数量的箭引爆气球 本题是一道 重叠区间的题目好好做一做因为明天三道题目都是 重叠区间。 代码随想录 思路 这道题属于重叠区间的问题一样需要先对给定的数组按这左端点或者右端点进行排序然后遍历数组看看这个区间的左端点是否小于等于上个区间放入右端点如果重叠就不需要额外多用一支箭但要注意更新右端点要用right min(right, i[1])如果不重叠就需要多用一支箭同时更新右端点的值。更新右端点用righti[1]来更新。
代码
class Solution:def findMinArrowShots(self, points: List[List[int]]) - int:if len(points) 0:return 0points.sort(keylambda x: x[0])count 1right points[0][1]for i in points:if i[0] right:count 1right i[1]else:right min(right, i[1])return count