难点:
同时严格大于
思路:一个从大到小,一个从小到大,防御严格被大于的时候,可以推出必定有进攻严格大于
代码:
class Solution:
def numberOfWeakCharacters(self, properties: List[List[int]]) -> int:
# 攻击从大到小,防御从小到大
properties.sort(key = lambda k: (-k[0], k[1]))
ans = 0
maxDefense = 0
for item in properties:
if maxDefense > item[1]:
# 防御大的,必定是之前的,所以攻击大
ans += 1
else:
maxDefense = item[1]
return ans
总结:
一个正向排,一个反向排