La mayoría de los elementos (pensamiento)

Título
Dada una matriz de tamaño n, encuentra la mayoría de los elementos. La mayoría de los elementos significa que el número de ocurrencias en la matriz es mayor que norte / / 2 ⌊ n / 2 ⌋ elemento. Puede suponer que la matriz no está vacía, y siempre habrá una mayoría de elementos en una matriz determinada.
Resolución de problemas: utilice la función de que el número de la mayoría de los elementos excede la mitad del número total y mantenga el cnt del número actual. Tiempo O (n), espacio O (1).

class Solution {
public:
    int majorityElement(vector<int>& nums) {
        int n = nums.size();
        int cnt = 0,ans;
        for(auto x:nums) {
            if(cnt == 0) ans = x,++cnt;
            else if(ans != x) --cnt;
            else ++cnt;
        }
        return ans;
    }
};
Publicados 152 artículos originales · ganado elogios 2 · Vistas 6447

Supongo que te gusta

Origin blog.csdn.net/weixin_43918473/article/details/105246246
Recomendado
Clasificación