游戏中弱角色的数量
难度:中等
终于解放了哈哈,今天赶车现在刚到家,赶在最后一刻来写题解
这道题我们可以按攻击力降序排序,若攻击力相同,则防御力升序排序,这里防御力升序排序是重点,因为我们会遍历这个二维数组,若出现前面比当前防御力高的,即表明该角色为弱角色。
代码如下:
public int numberOfWeakCharacters(int[][] properties) {
int res = 0;
Arrays.sort(properties,(a,b)->
{
if (a[0] != b[0]) {
return b[0] - a[0];
}else{
return a[1] - b[1];
}
});
int max =properties[0][1];
for (int i = 1; i < properties.length; i++) {
if (max > properties[i][1]) {
res++;
}
max = Math.max(max,properties[i][1]);
}
return res;
}
执行结果:成功