WordPress标题原创插件,网络优化工作内容,有网站制作app要多长时间,使用 加速乐 网站变慢1. 题目
给你一个餐馆信息数组 restaurants#xff0c;其中 restaurants[i] [idi, ratingi, veganFriendlyi, pricei, distancei]。你必须使用以下三个过滤器来过滤这些餐馆信息。
其中素食者友好过滤器 veganFriendly 的值可以为 true 或者 false#xff0c;如果为 true …1. 题目
给你一个餐馆信息数组 restaurants其中 restaurants[i] [idi, ratingi, veganFriendlyi, pricei, distancei]。你必须使用以下三个过滤器来过滤这些餐馆信息。
其中素食者友好过滤器 veganFriendly 的值可以为 true 或者 false如果为 true 就意味着你应该只包括 veganFriendlyi 为 true 的餐馆为 false 则意味着可以包括任何餐馆。
此外我们还有最大价格 maxPrice 和最大距离 maxDistance 两个过滤器它们分别考虑餐厅的价格因素和距离因素的最大值。
过滤后返回餐馆的 id按照 rating 从高到低排序。如果 rating 相同那么按 id 从高到低排序。简单起见 veganFriendlyi 和 veganFriendly 为 true 时取值为 1为 false 时取值为 0 。
示例 1
输入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
输出[3,1,5]
解释
这些餐馆为
餐馆 1 [id1, rating4, veganFriendly1, price40, distance10]
餐馆 2 [id2, rating8, veganFriendly0, price50, distance5]
餐馆 3 [id3, rating8, veganFriendly1, price30, distance4]
餐馆 4 [id4, rating10, veganFriendly0, price10, distance3]
餐馆 5 [id5, rating1, veganFriendly1, price15, distance1]
在按照 veganFriendly 1, maxPrice 50 和 maxDistance 10 进行过滤后
我们得到了餐馆 3, 餐馆 1 和 餐馆 5按评分从高到低排序。 示例 2
输入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
输出[4,3,2,1,5]
解释餐馆与示例 1 相同但在 veganFriendly 0 的过滤条件下应该考虑所有餐馆。示例 3
输入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
输出[4,5]提示
1 restaurants.length 10^4
restaurants[i].length 5
1 idi, ratingi, pricei, distancei 10^5
1 maxPrice, maxDistance 10^5
veganFriendlyi 和 veganFriendly 的值为 0 或 1 。
所有 idi 各不相同。来源力扣LeetCode 链接https://leetcode-cn.com/problems/filter-restaurants-by-vegan-friendly-price-and-distance 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。
2. 解题
class Solution {
public:vectorint filterRestaurants(vectorvectorint restaurants, int veganFriendly, int maxPrice, int maxDistance) {int i;vectorvectorint temp;if(veganFriendly1){for(i 0; i restaurants.size(); i){if(restaurants[i][2]1 restaurants[i][3]maxPrice restaurants[i][4]maxDistance)temp.push_back(restaurants[i]);}}else{for(i 0; i restaurants.size(); i){if(restaurants[i][3]maxPrice restaurants[i][4]maxDistance)temp.push_back(restaurants[i]);}}sort(temp.begin(),temp.end(),[](const auto a, const auto b){if(a[1]b[1])return a[0] b[0];return a[1] b[1];});//lambda匿名函数自定义排序vectorint ans;for(const auto r : temp)ans.push_back(r[0]);return ans;}
};