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。。。算是一个坑?。。

上一篇:PTA1015 德才论(C++)


下一篇:程序媛上班第一天,尽然让我做这个?!