当前位置:网站首页>LeetCode每日一题(1996. The Number of Weak Characters in the Game)
LeetCode每日一题(1996. The Number of Weak Characters in the Game)
2022-07-03 09:01:00 【wangjun861205】
You are playing a game that contains multiple characters, and each of the characters has two main properties: attack and defense. You are given a 2D integer array properties where properties[i] = [attacki, defensei] represents the properties of the ith character in the game.
A character is said to be weak if any other character has both attack and defense levels strictly greater than this character’s attack and defense levels. More formally, a character i is said to be weak if there exists another character j where attackj > attacki and defensej > defensei.
Return the number of weak characters.
Example 1:
Input: properties = [[5,5],[6,3],[3,6]]
Output: 0
Explanation: No character has strictly greater attack and defense than the other.
Example 2:
Input: properties = [[2,2],[3,3]]
Output: 1
Explanation: The first character is weak because the second character has a strictly greater attack and defense.
Example 3:
Input: properties = [[1,5],[10,4],[4,3]]
Output: 1
Explanation: The third character is weak because the second character has a strictly greater attack and defense.
Constraints:
- 2 <= properties.length <= 105
- properties[i].length == 2
- 1 <= attacki, defensei <= 105
- 根据 attack 排序, 如果 attack 相同则按 defense 的倒序排序
- 反向遍历,时刻记录遍历过的最大的 defense 值, 如果 properties[i][1] < max(defense)则认为 properties[i]弱于前面便利过的某个 property
之所以 attack 相同时按 defense 的倒序排序, 是因为题目要求是 attack 和 defense 都严格小于才能算弱, 我们这样排序可以保证 attack 是不严格递增, 按 defense 倒序排序可以保证在遍历的时候可以避免误把 attack 相同的情况计入答案中
impl Solution {
pub fn number_of_weak_characters(mut properties: Vec<Vec<i32>>) -> i32 {
properties.sort_by(|v1, v2| {
if v1[0] == v2[0] {
return v2[1].cmp(&v1[1]);
}
v1[0].cmp(&v2[0])
});
let mut max = properties.last().unwrap()[1];
let mut ans = 0;
for v in properties.into_iter().rev().skip(1) {
if v[1] < max {
ans += 1;
}
max = max.max(v[1]);
}
ans
}
}
边栏推荐
- Hudi integrated spark data analysis example (including code flow and test results)
- Instant messaging IM is the countercurrent of the progress of the times? See what jnpf says
- LeetCode 30. Concatenate substrings of all words
- LeetCode 438. Find all letter ectopic words in the string
- [point cloud processing paper crazy reading classic version 13] - adaptive graph revolutionary neural networks
- Flink学习笔记(十一)Table API 和 SQL
- Uc/os self-study from 0
- Internet Protocol learning record
- Bert install no package metadata was found for the 'sacraments' distribution
- 【Kotlin学习】高阶函数的控制流——lambda的返回语句和匿名函数
猜你喜欢

LeetCode 515. Find the maximum value in each tree row

Recommend a low code open source project of yyds

【点云处理之论文狂读经典版11】—— Mining Point Cloud Local Structures by Kernel Correlation and Graph Pooling

Crawler career from scratch (II): crawl the photos of my little sister ② (the website has been disabled)

Digital management medium + low code, jnpf opens a new engine for enterprise digital transformation

Just graduate student reading thesis

Modify idea code

AcWing 788. Number of pairs in reverse order

Navicat, MySQL export Er graph, er graph
![[point cloud processing paper crazy reading classic version 11] - mining point cloud local structures by kernel correlation and graph pooling](/img/40/e0c7bad60b19cafa467c229419ac21.png)
[point cloud processing paper crazy reading classic version 11] - mining point cloud local structures by kernel correlation and graph pooling
随机推荐
Save the drama shortage, programmers' favorite high-score American drama TOP10
WARNING: You are using pip version 21.3.1; however, version 22.0.3 is available. Prompt to upgrade pip
LeetCode 715. Range module
[set theory] order relation (chain | anti chain | chain and anti chain example | chain and anti chain theorem | chain and anti chain inference | good order relation)
[kotlin learning] control flow of higher-order functions -- lambda return statements and anonymous functions
C language programming specification
Flink学习笔记(十)Flink容错机制
【点云处理之论文狂读前沿版8】—— Pointview-GCN: 3D Shape Classification With Multi-View Point Clouds
Overview of image restoration methods -- paper notes
Just graduate student reading thesis
[solution to the new version of Flink without bat startup file]
Principles of computer composition - cache, connection mapping, learning experience
[point cloud processing paper crazy reading frontier version 11] - unsupervised point cloud pre training via occlusion completion
Flink学习笔记(十一)Table API 和 SQL
Common formulas of probability theory
2022-2-13 learning the imitation Niuke project - home page of the development community
Excel is not as good as jnpf form for 3 minutes in an hour. Leaders must praise it when making reports like this!
[point cloud processing paper crazy reading classic version 11] - mining point cloud local structures by kernel correlation and graph pooling
LeetCode 75. Color classification
【点云处理之论文狂读经典版9】—— Pointwise Convolutional Neural Networks