每日一题 0128
(2022.01.28)每日一题 游戏中弱角色的数量
今日,觉得自己太菜了。
需要注意sort的用法以及分组的思想,组内和组外的筛选很重要。通过排序尽可能丰富信息,有助于后面的解题。
class Solution {
public:
int numberOfWeakCharacters(vector>& properties) {
// 排序遍历的算法
// 将数组按攻击力由大到小排序,若攻击力相同,则防御力由小到大排序
// 这运用了分组的思想,让攻击力相同的为一组,先通过攻击力排序,由大到小
// 组内防御力由小到大,那么,下一组攻击力一定小于上一组,且若防御力小于上一组最大防御力,则算弱角色
sort(properties.begin(),properties.end(),[](vector& a,vector& b){
return (a[0]==b[0])? a[1]b[0];
});
int maxDef = 0;
int res =0;
for(auto& temp : properties){
if(temp[1]& a,vector& b){
return (a[0]==b[0])? a[1]>b[1]:a[0] st;
int res = 0;
for(auto& temp: properties){
while(!st.empty() && st.top()