Leetcode 1333. Filter Restaurants by Vegan-Friendly, Price and Distance [Python]

list.sort(key = lambda x: (x[0], x[1]。。。))的用法可以快速解决问题,

class Solution:
    def filterRestaurants(self, restaurants: List[List[int]], veganFriendly: int, maxPrice: int, maxDistance: int) -> List[int]:
        cand = []
        if veganFriendly == 1:
            for idx, rest in enumerate(restaurants):
                if rest[2] == veganFriendly and rest[3] <= maxPrice and rest[4] <= maxDistance:
                    cand.append(rest)
        else:
            for idx, rest in enumerate(restaurants):
                if rest[3] <= maxPrice and rest[4] <= maxDistance:
                    cand.append(rest)
        
        cand.sort(key = lambda x:(x[1], x[0]), reverse = True)
        res = []
        for can in cand:
            res.append(can[0])
        return res
                
        

不过面试里没准要自己写比较器之类的吧。题目里的餐厅ID不全是1、2、3。。。算是一个坑?。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值