链接:
题意
略
解:
这一题不知道考的啥啊,大概是vector的基本操作吧
实际代码:
#include
using namespace std;
bool cmp(vector& lhs,vector& rhs)
{
if(lhs[1]==rhs[1]) return lhs[0]>rhs[0];
return lhs[1]>rhs[1];
}
vector filterRestaurants(vector>& restaurants, int veganFriendly, int maxPrice, int maxDistance)
{
vector> 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);
vectorans;
for(auto list:lists)
{
ans.push_back(list[0]);
}
return ans;
}
限制:
1 <= restaurants.length <= 10^4restaurants[i].length == 51 <= idi, ratingi, pricei, distancei <= 10^51 <= maxPrice, maxDistance <= 10^5veganFriendlyi 和 veganFriendly 的值为 0 或 1 。idi 各不相同。