每日一题 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()