LeetCode 1996. 游戏中弱角色的数量

1996. 游戏中弱角色的数量

Solution

思路:见过类似的,就知道是排序。需要满足都是小于,才算是一个弱角色。因此可以按照攻击降序排序,那么就保证了攻击是满足了,不过要实现防御也要小于,就需要攻击相同时,按照防御升序排列,如果出现当前防御比之前角色小的,那么一定是攻击值不一样且之前的更大的角色。

class Solution {
    public int numberOfWeakCharacters(int[][] properties) {
        Arrays.sort(properties, (o1, o2) -> {
             return o1[0] == o2[0] ? o1[1] - o2[1] : o2[0] - o1[0];
        });
        int maxDef = 0;
        int ans = 0;
        for (int[] p : properties) {
            if (p[1] < maxDef) {
                ans++;
            } else {
                maxDef = p[1];
            }
        }
        return ans;
    }
}
posted @ 2022-02-06 15:30  Frontierone  阅读(19)  评论(0编辑  收藏  举报