Mam tablicę pełną ciągów znaków, z których każdy jest nazwą. Niektóre nazwy mogą być takie same, a niektóre mogą być inne. Język, w którym pracuję, jest obiektywny-C. Chcę być w stanie dowiedzieć się, która nazwa jest najbardziej popularna z tej tablicy (tablica będzie dynamiczna w oparciu o informacje podane aplikacji od użytkownika). Nie jestem pewien, jak to zrobić WYDAJNIE. Jeśli ktoś mógłby rozwinąć ten temat lub podać przykład, byłoby to docenione.Znajdowanie najbardziej powtarzanego obiektu w tablicy
Dziękuję
Przykład:
NSArray *nameArray= [[NSArray alloc] initWithObjects @"james", @"megan", @"lauren", @"mike" @james", nil];
//james would be the most popular name
akceptować lub zaznaczać odpowiedź, jeśli jest to pomocne? –
Nie wygląda bardzo efektywnie (jak op zapytał): Założę się, że każdy '[bag countForObject:]' przechodzi przez całą tablicę, a ponieważ robisz to dla każdego elementu tablicy, to jest to O (n^2). Podejście sugerowane przez @Samir wygląda lepiej. – Saphrosit
to samo co każdy ciąg w tablicy jest sprawdzany w całej tablicy –