Tengo una matriz llena de cadenas con cada cadena siendo un nombre. Algunos nombres pueden ser iguales, mientras que otros pueden ser diferentes. El lenguaje en el que estoy trabajando es objetivo-C. Deseo poder averiguar qué nombre es el más popular de esta matriz (la matriz será dinámica en función de la información que el usuario proporcione a la aplicación). No estoy seguro de cómo hacer que esto suceda EFICIENTEMENTE. Si alguien pudiera ampliar esto o dar un ejemplo, sería apreciado.Encontrar la mayoría de los objetos repetidos en la matriz
Gracias
Ejemplo:
NSArray *nameArray= [[NSArray alloc] initWithObjects @"james", @"megan", @"lauren", @"mike" @james", nil];
//james would be the most popular name
aceptar o marcar responder si es útil? –
No parece muy eficiente (como opio el op): apuesto a que cada '[bag countForObject:]' pasa por toda la matriz, y como lo haces para cada elemento de la matriz, es una O (n^2). El enfoque sugerido por @Samir se ve mejor. – Saphrosit
También es igual que cada cadena en matriz se comprueba en matriz completa –