净水机企业网站源码,网络平台销售,做网站要不要交税,什么网站做生鲜比较好2023-09-27每日一题
一、题目编号
1333. 餐厅过滤器二、题目链接
点击跳转到题目位置
三、题目描述
给你一个餐馆信息数组 restaurants#xff0c;其中 restaurants[i] [idi, ratingi, veganFriendlyi, pricei, distancei]。你必须使用以下三个过滤器来过滤这些餐馆信息…2023-09-27每日一题
一、题目编号
1333. 餐厅过滤器二、题目链接
点击跳转到题目位置
三、题目描述
给你一个餐馆信息数组 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
示例 2 示例3 提示
1 restaurants.length 104 restaurants[i].length 5 1 idi, ratingi, pricei, distancei 105 1 maxPrice, maxDistance 105 veganFriendlyi 和 veganFriendly 的值为 0 或 1 。 所有 idi 各不相同。
四、解题代码
class Solution {
public:vectorint filterRestaurants(vectorvectorint restaurants, int veganFriendly, int maxPrice, int maxDistance) {int n restaurants.size();vectorvectorint filtered;for (int i 0; i n; i) {if (restaurants[i][3] maxPrice restaurants[i][4] maxDistance !(veganFriendly !restaurants[i][2])) {filtered.push_back(restaurants[i]);}}sort(filtered.begin(), filtered.end(), [](vectorint v1, vectorint v2) - bool {return v1[1] v2[1] || (v1[1] v2[1] v1[0] v2[0]);});vectorint res;for (auto v : filtered) {res.push_back(v[0]);}return res;}
};五、解题思路
(1) 按照题目的要求排序即可。