LeetCode 1996 游戏中弱角色的数量[自定义排序] HERODING的LeetCode之路
Posted HERODING23
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 1996 游戏中弱角色的数量[自定义排序] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。
解题思路:
既然是两个同时满足的条件,那么不如先满足一个,另一个慢慢找即可,自定义排序,首先按照攻击力降序排列,如果相等,则按照防御力升序排列,这样的话就不会造成攻击力相同防御力较低的算作弱方的存在。最后遍历排序好的数组,不断更新最高防御力,并把防御力低的算作弱方(防御力低,攻击力肯定低),代码如下:
bool cmp(const vector<int>& p1, const vector<int>& p2)
if(p1[0] == p2[0])
return p2[1] > p1[1];
return p1[0] > p2[0];
class Solution
public:
int numberOfWeakCharacters(vector<vector<int>>& properties)
int n = properties.size();
sort(properties.begin(), properties.end(), cmp);
int ans = 0;
int maxDefence = -1;
for(int i = 0; i < n; i ++)
if(maxDefence > properties[i][1])
ans ++;
maxDefence = max(maxDefence, properties[i][1]);
return ans;
;
以上是关于LeetCode 1996 游戏中弱角色的数量[自定义排序] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode刷题100天—5864. 游戏中弱角色的数量( 数组)—day29