Я работаю над поиском этого алгоритма в течение примерно 6 часов и, похоже, не придумал решение. Я пытаюсь подсчитать вхождения элементов внутри массива и еще два отдельных массива. Один для уникальных экземпляров и один для того, сколько раз эти экземпляры происходят. Я обнаружил, что некоторые другие думают здесь о списках массивов и хэш-картах, но я могу использовать только массивы.Количество вхождений элементов внутри массива? (Java)
К примеру, у меня есть этот массив (уже отсортированный):
{cats, cats, cats, dog, dog, fish}
Я пытаюсь получить сделать массив для экземпляров, так:
{cats, dog, fish}
И, наконец, сколько раз эти случаи происходят:
{3, 2, 1}
Вот код, я до сих пор:
public void findArrs(String[] words)
{
int counter = 1;
for(int i = 0; i < words.length - 1; i++){
if(!(words[i].equals(words[i+1]))){
counter++;
}
}
String[] unique = new String[counter];
int[] times = new int[counter];
for(int i = 0; i < words.length; i++){
}
}
Это все код, который у меня есть после всех моих попыток.
Используйте два для петель, сначала сделайте копию объекта. первый цикл, получить имя, внутри внутреннего цикла, подсчитать вхождения. и нажмите на новый массив. Продолжайте, пока не сделаете все отличные значения. – Pierre
Я сделал поиск, который проходит через сортированный массив, и когда он переключается на что-то другое, я увеличиваю счетчик и, в конце концов, это длина уникального массива экземпляров. Но я зациклен на том, как перемещать элементы отсортированного массива в эти два. – helloMundo
Я только что отредактировал сообщение с моим кодом. – helloMundo