вход
Список неотрицательных целых чисел.
Выход
Наибольшее неотрицательное целое число, h
такое, что по крайней мере h
число в списке больше или равно h
.
Тестовые случаи
[0,0,0,0] -> 0
[12,312,33,12] -> 4
[1,2,3,4,5,6,7] -> 4
[22,33,1,2,4] -> 3
[1000,2,2,2] -> 2
[23,42,12,92,39,46,23,56,31,12,43,23,54,23,56,73,35,73,42,12,10,15,35,23,12,42] -> 20
правила
Вы можете написать либо полную программу, либо функцию, также разрешены анонимные функции. Это код-гольф, поэтому побеждает меньшее количество байтов. Стандартные лазейки запрещены.
Задний план
Ч-индекс представляет собой понятие , которое используется в научных кругах , которая стремится захватить влияние и производительность исследователя. Согласно Википедии, у исследователя есть индекс h , если он опубликовал h научных статей, каждая из которых была процитирована в других статьях как минимум h раз. Таким образом, эта задача заключается в вычислении h-индекса из списка счетчиков цитирования.
Обновить
Вау, отличные ответы со всех сторон! Я принял самый короткий вариант, но если кто-то придумает еще более короткий, я соответствующим образом обновлю свой выбор.
Победители по языку
Вот таблица победителей по языкам, которые я также постараюсь держать в курсе. Я включил все посты с неотрицательной оценкой. Пожалуйста, поправьте меня, если я допустил ошибку здесь.
- APL : 7 байтов @MorisZucca
- Bash + coreutils : 29 байт от @DigitalTrauma
- C # : 103 байта от @ LegionMammal978
- C ++ : 219 байт, @ user9587
- CJam : 15 байтов @nutki
- GolfScript : 13 байтов @IlmariKaronen
- Haskell : 40 байтов @proudhaskeller
- J : 12 байт от @ ɐɔıʇǝɥʇuʎs
- Java : 107 байт @Ypnypn
- JavaScript : 48 байт, @ edc65
- Mathematica : 38 байтов @ kukac67
- Perl : 32 байта @nutki
- Pyth : 10 байтов @isaacg
- Python : 49 байтов @feersum
- R : 29 байт @MickyT
- Рубин : 41 байт @daniero
- Scala : 62 байта @ChadRetz
- SQL : 83 байта @MickyT
- TI-BASIC : 22 байта @Timtech