844. 数对统计

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/musechipin/article/details/85045532

两层for循环也可以做,不过观察可以发现点的奇偶就四种情况:奇偶,奇奇,偶奇,偶偶,只有在这四种内部组合的数对才都能被2整除。

class Solution {
public:
    int pairNumbers(vector<Point> &p) {
       int x,y,z,w;
       x=y=z=w=0;
       for (int i=0;i<p.size();i++)
          if (p[i].x%2==1)
          {
            if (p[i].y%2==0) x++;
            else y++;
          }
          else {if (p[i].y%2==1) z++;
               else w++;}
        return x*(x-1)/2+y*(y-1)/2+z*(z-1)/2+w*(w-1)/2;
    }
};

注意一次给多个变量赋值的写法。

猜你喜欢

转载自blog.csdn.net/musechipin/article/details/85045532