2015-07-08 4 views
-1

Logic пожалуйста .. С только используя для или во время цикла ...
Пример:Количество вхождений в массиве

int a[ ] = {2,3,2,3,4,4,5,1,3}; 

Выход:

2 occurred 2 time 
3 occurred 3 time 
4 occurred 2 time 
5 occurred 1 time 
1 occurred 1 time 
+1

Вам, вероятно, будет лучше обслуживать, выясняя это самостоятельно, но чтобы вы начали ... почему бы вам не взглянуть на каждый номер по очереди и не сэкономить общее количество раз, вы видели каждый номер? Множество структур данных, которые помогут вам в этом ... найдите структуру карты на выбранном вами языке (например: http://docs.oracle.com/javase/7/docs/api/java/util/Map.html) –

+0

Если вы используете C#, вы можете сделать группу в LINQ. – rnofenko

+0

Возможный дубликат: http://stackoverflow.com/questions/8098601/java-count-occurrence-of-each-item-in-an-array –

ответ

1

Логика для выполнения этой задачи может быть, как следовать:

Для каждого элемента в массиве a

  1. проверить, если элемент ранее использовался (может создать массив b добавить уникальный элемент)
    1.1 Если он был использован continue, в противном случае добавить в массив b

  2. инициализация счетчик и currentIndex переменных

  3. Поиска и подсчитывать количество вхождений из currentIndex, тогда как значение currentIndex не равно -1

  4. Распечатать элемент и его страну ter

+0

Прокодируете ли вы его на Java ..? –

+2

Почему именно вы не делаете это @EthanParker? – csmckelvey