2013-04-22 3 views
3

Если у меня есть 5 целых чисел (а, б, в, г, д), что это самый короткий путь можно проверить, если по крайней мере, 3 из них эквивалентны.Если х у значений эквивалентны

ex.

a==1 
b==1 
c==2 
d==3 
e==4 
//returns false 

ex. 
a==1 
b==1 
c==1 
d==3 
e==4 
//returns true 
+0

Что вы имеете в виду самый быстрый? Вы беспокоитесь о производительности здесь? – nmat

+2

Нах, я просто не хотел массивной петли ... Лучшая фраза должна была быть «Каков самый короткий способ проверить, если ...» –

+0

@nmat отредактировал его! Благодаря! –

ответ

9

Это должно работать для всех случаев:

bool match = array.GroupBy(n => n).Any(g => g.Count() >= 3); 
+0

Splendid !!!! :) Благодаря! –

+3

Просто, чтобы выбрать немного ... не '' '' '' лучше, чем 'Макс'? Не нужно проверять самую большую группу, просто проверьте, имеет ли один из них 3 или более элемента. –

+0

@ JuliánUrbano Вы правы. Спасибо, спасибо. – TheEvilPenguin

Смежные вопросы