Prueba de programación - Codilidad - Dominator [cerrado]

Acabo de tener un problema de codilidad, me resulta difícil y todavía estoy tratando de averiguar cómo se podrían haber cumplido las limitaciones de espacio y tiempo.

El problema es el siguiente: un miembro dominante en la matriz es uno que ocupa más de la mitad de las posiciones en la matriz, por ejemplo:

{3, 67, 23, 67, 67}

67 es un miembro dominante porque aparece en la matriz en 3/5 (> 50%) posiciones.

Ahora, se espera que proporcione un método que tome una matriz y devuelva un índice del miembro dominante si existe uno y -1 si no hay ninguno.

Fácil, ¿verdad? Bueno, podría haber resuelto el problema fácilmente si no fuera por las siguientes restricciones:

La complejidad del tiempo esperado es O (n)La complejidad de espacio esperada es O (1)

Puedo ver cómo podría resolver esto por tiempo O (n) con complejidades de espacio O (n) así como tiempo O (n ^ 2) con complejidades de espacio O (1), pero ninguna que cumpla con el tiempo O (n) y O (1) espacio.

Realmente agradecería ver una solución a este problema. No se preocupe, la fecha límite ya pasó hace unas horas (solo tenía 30 minutos), así que no estoy tratando de hacer trampa. Gracias.

Respuestas a la pregunta(24)

Su respuesta a la pregunta