Class Solution
java.lang.Object
g1301_1400.s1333_filter_restaurants_by_vegan_friendly_price_and_distance.Solution
1333 - Filter Restaurants by Vegan-Friendly, Price and Distance\.
Medium
Given the array `restaurants` where
restaurants[i] = [idi, ratingi, veganFriendlyi, pricei, distancei]. You have to filter the restaurants using three filters.
The `veganFriendly` filter will be either _true_ (meaning you should only include restaurants with veganFriendlyi set to true) or _false_ (meaning you can include any restaurant). In addition, you have the filters `maxPrice` and `maxDistance` which are the maximum value for price and distance of restaurants you should consider respectively.
Return the array of restaurant _**IDs**_ after filtering, ordered by **rating** from highest to lowest. For restaurants with the same rating, order them by _**id**_ from highest to lowest. For simplicity veganFriendlyi and `veganFriendly` take value _1_ when it is _true_, and _0_ when it is _false_.
**Example 1:**
**Input:** restaurants = \[\[1,4,1,40,10],[2,8,0,50,5],[3,8,1,30,4],[4,10,0,10,3],[5,1,1,15,1]], veganFriendly = 1, maxPrice = 50, maxDistance = 10
**Output:** [3,1,5]
**Explanation:** The restaurants are:
Restaurant 1 [id=1, rating=4, veganFriendly=1, price=40, distance=10]
Restaurant 2 [id=2, rating=8, veganFriendly=0, price=50, distance=5]
Restaurant 3 [id=3, rating=8, veganFriendly=1, price=30, distance=4]
Restaurant 4 [id=4, rating=10, veganFriendly=0, price=10, distance=3]
Restaurant 5 [id=5, rating=1, veganFriendly=1, price=15, distance=1]
After filter restaurants with veganFriendly = 1, maxPrice = 50 and maxDistance = 10 we have restaurant 3, restaurant 1 and restaurant 5 (ordered by rating from highest to lowest).
**Example 2:**
**Input:** restaurants = \[\[1,4,1,40,10],[2,8,0,50,5],[3,8,1,30,4],[4,10,0,10,3],[5,1,1,15,1]], veganFriendly = 0, maxPrice = 50, maxDistance = 10
**Output:** [4,3,2,1,5]
**Explanation:** The restaurants are the same as in example 1, but in this case the filter veganFriendly = 0, therefore all restaurants are considered.
**Example 3:**
**Input:** restaurants = \[\[1,4,1,40,10],[2,8,0,50,5],[3,8,1,30,4],[4,10,0,10,3],[5,1,1,15,1]], veganFriendly = 0, maxPrice = 30, maxDistance = 3
**Output:** [4,5]
**Constraints:**
* `1 <= restaurants.length <= 10^4`
* `restaurants[i].length == 5`
* 1 <= idi, ratingi, pricei, distancei <= 10^5
* `1 <= maxPrice, maxDistance <= 10^5`
* veganFriendlyi and `veganFriendly` are 0 or 1.
* All idi are distinct.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfilterRestaurants(int[][] restaurants, int veganFriendly, int maxPrice, int maxDistance)
-
Constructor Details
-
Solution
public Solution()
-
-
Method Details
-
filterRestaurants
-