Задача кодирования: найти повторяющиеся элементы в коллекции элементов.
Сегодняшняя задача кодирования довольно свободна с точки зрения того, как вы подходите к ней и как вы интерпретируете проблему.
Учитывая набор элементов (целые числа, строки, объекты - все, что угодно), определите набор элементов в этой коллекции, которые повторяются.
Например
{1,2,3,3,4,5,5,6} => {3,5}
Очки начисляются за элегантность, скорость и чрезмерное использование сложной логики. Над проектированием решение приобретет вам благосклонность.
Победитель прошлой недели был Питер Леоу, главным образом потому, что Graeme_Grant убивает его, и я хотел наградить нового игрока. Дельфи-решение Грэма вызвало у меня слезы на глазах. Питер: свяжись с Шоном за безделушкой.
Graeme_Grant
Наверное, это был своего рода комплимент ... Мне понравилось изучать новый ретро-язык... что-то вроде заставляет меня пожалеть, что я не провел с ним больше времени раньше... На прошлой неделе это был первый раз, когда я был там, и больше никто не участвовал ... на самом деле немного облом...
Maciej Los
Крис,
Не могли бы вы рассказать мне о самой важной идее кодирования Challenge? До сих пор я был уверен, что самое главное-обеспечить одно нетрадиционное решение, но теперь я вижу, что кодирование chalenge было изменено на "сколько языков программирования вы знаете?". Я бы предложил опубликовать правила кодирования Challenge. Если метод решения проблемы один и тот же (одна и та же идея), то количество решений не может быть причиной славы (upvotes).
Примечание: Я не вижу ничего плохого в шести или более решениях Graeme_Grant: F#, Linq и non-Linq версии C# и VB.NET, PowerShell, BatchScript, WPF(?!?), но... это воняет хвастовством.
Chris Maunder
-теперь я вижу, что кодирование chalenge было изменено на "сколько языков программирования вы знаете?".
Нет, дело совсем не в этом. Один ответ-это все, что я после. Единственный самый *интересный* ответ. Тот, который вызывает больше всего споров, больше всего похвал, больше всего удовольствия. Тот, который показывает, что кто-то растянулся немного больше, чем другие. Вот в чем дело.
Graeme_Grant
Это дало мне возможность изучить 3 новых языка (F#, Powershell, Free Pascal), где я обычно не беспокоился бы. Это было интересное и веселое путешествие.
VB-это то, откуда я пришел. Так же как и для C#/VB, не все программы на C#. Когда у меня есть время, я прикрепляю версию VB для тех, кто этого не делает.
Спасибо Крису за то, что он это сделал! :)
Maciej Los
Крис, спасибо за объяснение.
Грэм, прости меня, если я обидел тебя. Это не входило в мои намерения. Я начал свое путешествие по программированию с Pascal и VBA. У меня есть средний опыт работы с C++. Теперь я использую VB.NET и C# (предпочтительно). Как вы можете видеть, я мог бы предложить 5 решений, но идея решения проблемы была бы той же самой. Поэтому я предпочел бы предложить одно решение (на любом языке). Это моя точка зрения.
Овации,
Мацей
Graeme_Grant
Было бы здорово, если бы вы приняли участие в этих испытаниях. Есть еще один новый сейчас активен[^]...
Maciej Los
Я был там ;)
Graeme_Grant
Да... 1 из 11 задач... А как насчет нынешнего?
Maciej Los
Моя философская натура говорит: Должен ли я участвовать в соревнованиях?
:смеяться:
[no name]
Было бы одно решение на каждого члена достойным ограничением.
Graeme_Grant
Я всегда ожидаю, что только мое первое решение будет оценено.