Вы получите массив и должны вернуть количество целых чисел, встречающихся более одного раза.
[234, 2, 12, 234, 5, 10, 1000, 2, 99, 234]
Это вернет 2, так как каждый из них 234
и 2
появится более одного раза.
[234, 2, 12, 234]
[2, 12, 234, 5, 10, 1000, 2]
Список никогда не будет длиннее целых 100 000, а целые числа внутри списка всегда будут в диапазоне от -100 000 до 100 000.
Целые числа должны учитываться, если они встречаются более одного раза, поэтому, если целое число встречается 3 раза, оно все равно будет учитываться только как одно повторное целое число.
Контрольные примеры
[1, 10, 16, 4, 8, 10, 9, 19, 2, 15, 18, 19, 10, 9, 17, 15, 19, 5, 13, 20] = 4
[11, 8, 6, 15, 9, 19, 2, 2, 4, 19, 14, 19, 13, 12, 16, 13, 0, 5, 0, 8] = 5
[9, 7, 8, 16, 3, 9, 20, 19, 15, 6, 8, 4, 18, 14, 19, 12, 12, 16, 11, 19] = 5
[10, 17, 17, 7, 2, 18, 7, 13, 3, 10, 1, 5, 15, 4, 6, 0, 19, 4, 17, 0] = 5
[12, 7, 17, 13, 5, 3, 4, 15, 20, 15, 5, 18, 18, 18, 4, 8, 15, 13, 11, 13] = 5
[0, 3, 6, 1, 5, 2, 16, 1, 6, 3, 12, 1, 16, 5, 4, 5, 6, 17, 4, 8] = 6
[11, 19, 2, 3, 11, 15, 19, 8, 2, 12, 12, 20, 13, 18, 1, 11, 19, 7, 11, 2] = 4
[6, 4, 11, 14, 17, 3, 17, 11, 2, 16, 14, 1, 2, 1, 15, 15, 12, 10, 11, 13] = 6
[0, 19, 2, 0, 10, 10, 16, 9, 19, 9, 15, 0, 10, 18, 0, 17, 18, 18, 0, 9] = 5
[1, 19, 17, 17, 0, 2, 14, 10, 10, 12, 5, 14, 16, 7, 15, 15, 18, 11, 17, 7] = 5
code-golf
array-manipulation
jayko03
источник
источник
Once it counts the repetition, don't count again
? Кроме того, поскольку мы хотим найти повторение определенного целого числа, как бы мы узнали, какое целое число искать, если нам его не дали? Наконец, контрольные примеры немного сбивают с толку; какие выходные, а какие входные?Ответы:
R , 20 байтов
Это то, что вы после? Используется
table
для подсчета вхождений каждого изscan
входных значений. Проверяет, является ли число> 1, и суммирует истины.Попробуйте онлайн!
источник
duplicated
первым - скромныйtable
так полезен для игры в гольф!Haskell , 42 байта
Попробуйте онлайн! Злоупотребляет тем фактом, что целые числа в списке гарантированно находятся в пределах -100k и 100k.
источник
Баш + coreutils, 18
Попробуйте онлайн!
источник
APL (Dyalog Unicode) ,
98 байтов SBCS-1 благодаря ngn
Функция анонимного молчаливого префикса.
Попробуйте онлайн!
+/
сумма1<
1 меньше чем…
⌸
Для каждого уникального элемента:⊢∘
игнорируя фактический уникальный элемент,≢
количество его появленийисточник
{1<≢⍵}⌸
->1<⊢∘≢⌸
C (лязг)
17511795 байтПопробуйте онлайн!
Это первый раз, когда я отправил один из них, поэтому дайте мне знать, есть ли какие-либо проблемы с форматированием или что-то еще.
Обновления от комментариев:
оригинал
источник
d,i;c(*a,*b){return*a-*b;}r(l[],m){qsort(l,m,4,c);for(i=d=0;++i<m;)d+=((l[i+1]-l[i]||i>m-2)&&l[i-1]==l[i]);return d;}
. Как отмечалось только в @ ASCII,include
они не влияют на компиляцию вашей программыd;c(*a,*b){return*a-*b;}r(*l,m){qsort(l,m,4,c);for(d=0;~m--;)d+=(!m||l[1]-*l)&l[-1]==*l++;return d;}
c(*a,*b){return*a-*b;}r(*l,m){qsort(l,m,4,c);return((!m||l[1]-*l)&l[-1]==*l)+(m?r(l+1,m-1):0);}
C # (интерактивный компилятор Visual C #) , 40 байт
Первый черновик спецификации был неясен, и я подумал, что это значит вернуть все элементы, которые появляются более одного раза. Это обновленная версия.
Почему-то я не заметил, что мой код вернул количество элементов, появившихся однажды. Спасибо Полу Караму за это!
Попробуйте онлайн!
источник
n=>n.GroupBy(c=>c).Count(c=>c.Count()>=2)
. ОП говорит, что ответом этого списка является 2. Ваш код возвращает 5. Изменение, которое я дал вам, возвращает 2.>1
сохранить счет 40 байтовPython 3 , 38 байт
Попробуйте онлайн!
источник
J ,
119 байт-2 байта благодаря Ионе!
Попробуйте онлайн!
Оригинальное решение:
Попробуйте онлайн!
Объяснение:
источник
1#.1<1#.=
9 байт + добро, давай самому классифицировать веселье.Рубин , 34 байта
Попробуйте онлайн!
источник
05AB1E , 4 байта
Попробуйте онлайн! или как тестовый набор
объяснение
источник
Желе , 4 байта
Попробуйте онлайн!
...Или
ĠIƇL
Как?
IƇ
будет фильтровать, чтобы сохранить только достоверные результатыI
([[6],[3,6]]
), который также имеет желаемую длину.источник
Perl 6 , 15 байт
Попробуйте онлайн!
Довольно понятно. Блок анонимного кода, который получает count (
+
)Set
для элементов средиrepeated
элементов input (*
).Я понял, что выложил почти то же самое решение для связанного вопроса.
источник
Python 3 , 63 байта
Попробуйте онлайн!
источник
Java 8,
7473 байтаПопробуйте онлайн.
Объяснение:
источник
APL (Dyalog Extended) ,
87 байтов SBCSФункция анонимного молчаливого префикса с использованием метода Джоны .
Попробуйте онлайн!
+/
общее количество вхожденийбуквально сумма правд
1<
где один меньше чем∪
уникальные элементы⍧
считать в⊢
неизмененный аргументисточник
Haskell , 41 байт
Попробуйте онлайн!
Подсчитайте суффиксы, в которых первый элемент
h
появляется ровно один раз в той части,t
которая идет после.Haskell , 40 байт
Попробуйте онлайн!
Кража метода из других ответов.
источник
Haskell, 41 байт
Это решение в основном подсчитывает, сколько элементов списка имеют один и тот же элемент, и они появляются в списке ровно один раз позже.
источник
Haskell , 47 байтов
Попробуйте онлайн!
Это наивный подход. Вероятно, что-то можно сделать, чтобы улучшить это.
Возвращаем
0
за пустой списокВ случае непустого списка, начиная с
a
и затемb
.Если фильтрация
a
внеb
отличается отb
(то естьa
вb
), то мы возвращаем на 1 больше, чемf
примененоb
сa
отфильтрованными s.Если фильтрация
a
s не меняется,b
мы простоf
пересекаем все остальное.Вот еще один похожий подход, который имеет такую же длину:
Попробуйте онлайн!
источник
JavaScript (ES6), 40 байт
Попробуйте онлайн!
источник
Wolfram Language 34 байта
Gather
группирует одинаковые целые числа в списки.DeleteCases[...{x_}]
удаляет списки, содержащие одно число.Length
возвращает количество оставшихся списков (каждый из которых содержит два или более одинаковых целых числа.источник
Count[{_,__}]@*Gather
Japt ,
1211986 байтС большой помощью @ ASCII-Only и предложениями @Shaggy и @Luis felipe De jesus Munoz.
Попробуйте онлайн!
источник
Pyth, 6 байт
Попробуй здесь
объяснение
источник
Брахилог , 7 байт
Попробуйте онлайн!
Объяснение:
источник
PHP, 39 байт
хороший повод использовать переменные переменные :
принимает входные данные из аргументов командной строки. Запустите
-nr
или попробуйте онлайн .$argv[0]
это-
и что появляется только один раз в аргументах, так что это не влияет на результат.источник
Элемент , 40 байт
Попробуйте онлайн!
Это требует ввода в точном формате, как
[234, 2, 1000, 2, 99, 234]
(в[]
в запятую и через пробел между целыми числами).Объяснение:
источник
Сетчатка 0.8.2 , 19 байт
Попробуйте онлайн! Ссылка включает набор тестов, который разделяет каждую строку на запятые. Объяснение:
Сортировать равные значения вместе.
Подсчитайте количество прогонов не менее двух значений.
источник
Чистый ,
5954 байтаПопробуйте онлайн!
Сортирует список, группирует соседние равные элементы и считает число с более чем 1 элементом.
источник
Ржавчина, 126 байт
Я сдаюсь. Это в основном то же самое, что и Ruby. Существует «другой способ» создания массива и индексации в нем, используя значения во входном векторе +100000, однако преобразования типов (например, в формате i32 / i32) занимают слишком много места.
источник
MATL , 5 байтов
Попробуйте онлайн! Или проверьте все тестовые случаи .
объяснение
источник
к, 8 байт
+/1<#:'=
читается как: сумма (длина каждой группы)> 1
Пример использования (первый тестовый пример)
пишет 4
источник