代码随想录刷题第三十五天| 860.柠檬水找零 ● 406.根据身高重建队列 ● 452. 用最少数量的箭引爆气球|

2023-12-31 05:51:10

代码随想录刷题第三十五天

柠檬水找零 (LC 860)

题目思路:

在这里插入图片描述

代码实现:

class Solution:
    def lemonadeChange(self, bills: List[int]) -> bool:
        five = 0
        ten = 0
        for money in bills:
            if money == 5:
                five+=1

            if money == 10:
                if five>0:
                    five-=1
                    ten+=1
                else:
                    return False
            
            if money == 20:
                if ten>0 and five>0:
                    ten-=1
                    five-=1
                elif five>2:
                    five-=3
                else:
                    return False
        return True     

根据身高重建队列 (LC 406)

题目思路:

在这里插入图片描述

代码实现:

class Solution:
    def reconstructQueue(self, people: List[List[int]]) -> List[List[int]]:
        people.sort(key = lambda x: (-x[0],x[1]))
        result = []
        
        for i in range(len(people)):
            result.insert(people[i][1], people[i])
        return result

用最少数量的箭引爆气球 (LC 452)

题目思路:

在这里插入图片描述

代码实现:

class Solution:
    def findMinArrowShots(self, points: List[List[int]]) -> int:
        points.sort(key = lambda x: x[0])
        sr = points[0][1]
        count = 1
        for i in points:
            if i[0]>sr:
                count+=1
                sr = i[1]
            else:
                sr = min(sr,i[1])
        return count

文章来源:https://blog.csdn.net/shaozi25/article/details/135312198
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。