链接:
题意
略
解:
这一题不知道考的啥啊,大概是vector的基本操作吧
实际代码:
#include<bits/stdc++.h>
using namespace std;
bool cmp(vector<int>& lhs,vector<int>& rhs)
{
if(lhs[1]==rhs[1]) return lhs[0]>rhs[0];
return lhs[1]>rhs[1];
}
vector<int> filterRestaurants(vector<vector<int>>& restaurants, int veganFriendly, int maxPrice, int maxDistance)
{
vector<vector<int>> lists;
for(auto restaurant:restaurants)
{
if(restaurant[2]>=veganFriendly && restaurant[3]<=maxPrice && restaurant[4]<=maxDistance)
{
lists.push_back(restaurant);
}
}
sort(lists.begin(),lists.end(),cmp);
vector<int>ans;
for(auto list:lists)
{
ans.push_back(list[0]);
}
return ans;
}
限制:
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
各不相同。