参考力扣169.多数元素
class Gift {
  public:
    int getValue(vector<int> gifts, int n) {
        int candidate = gifts[0];
        int count = 1;
        for (int i = 1; i < n; i++) {
            if (gifts[i] == candidate) {
                count++;
            } else {
                count--;
            }
            if (count < 0) {
                candidate = gifts[i];
                count = 1;;
            }
        }
        if (count > 1) {
            return candidate;
        }
        return 0;
    }
};
时间复杂度:O(n),只遍历了一次数组
空间复杂度:O(1),没有使用额外的空间

京公网安备 11010502036488号