Teste de Programação - Codility - Dominator [closed]
Acabei de ter um problema de codificação que me causa dificuldades e ainda estou tentando descobrir como as restrições de complexidade de espaço e tempo poderiam ter sido atendidas.
O problema é o seguinte: Um membro dominante na matriz é aquele que ocupa mais de metade das posições na matriz, por exemplo:
{3, 67, 23, 67, 67}
67 é um membro dominante porque aparece na matriz em 3/5 (> 50%) posições.
Agora, espera-se que você forneça um método que aceite uma matriz e retorne um índice do membro dominante se existir um e -1 se não houver nenhum.
Fácil, certo? Bem, eu poderia ter resolvido o problema com facilidade se não fosse pelas seguintes restrições:
A complexidade esperada do tempo é O (n)A complexidade esperada do espaço é O (1)Eu posso ver como você poderia resolver isso para O (n) tempo com complexidades de espaço O (n), assim como O (n ^ 2) tempo com complexidades de espaço O (1), mas nenhuma que atenda ao tempo O (n) e O (1) espaço.
Eu realmente aprecio ver uma solução para este problema. Não se preocupe, o prazo passou algumas horas atrás (eu só tinha 30 minutos), então não estou tentando enganar. Obrigado.