- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
double[] numbers1 = { 2.0, 2.1, 2.2, 2.3, 2.4, 2.5 };
double[] numbers2 = { 2.2 };
IEnumerable<double> onlyInFirstSet = numbers1.Except(numbers2);
foreach (double number in onlyInFirstSet)
Console.WriteLine(number);
/*
This code produces the following output:
2
2.1
2.3
2.4
2.5
*/
У них ещё и Enumerable.Distinct есть. Вернет только дублированные переменные, убрав их копии. Не требует сортировки исходной коллекции.
>>на сколько я помню. 00:00:00.0007206
L:)))))))))))))))))
И ответ "да хуй его знает, я их не считал" их устроил? (Ну не верю я, что кто-то помнит, сколько их там).
Собеседник сказал что их на самом деле 28 вроде (там еще MVC сокрыт, его в каталоге нет, но он упоминается)
Следующий раз буду лучше готовиться
Yу что посоны? Задачку чтоли из гугла вам простейшую задать? Есть массив целых чисел. Есть искомое число. Найти любую пару чисел из этого массива, сумма которых равна искомому числу.
Вариант ответа с производительностью О(n^2) даже не предлагать.
У неё много решений. От O(log n * n) времени и O(1) памяти до O(n) времени и O(n) памяти. Мне её как-то задавали на собеседовании и я додумался до O(n) + O(n).
Есть более интересный вариант: 3 числа в массиве, сумма которых ближе всего к некому числу X.
Вопрос в том как решить её в языке где в стандартной библиотеке нету мапов и множеств.
А ну да, дошло - что-то типа слияния.
P.S. А O(n)+O(n) амортизированные или нормальные?
Банально как-то, я думал, что там есть красивое решение...
А мне вот такая задачка понравилась: есть указатель на начало связного списка, нужно определить не закольцован ли он (кольцо может начаться и где-нибудь в середине списка). Нужно решение не хуже O(n) по времени + O(1) по памяти.
Проверить наличие кольца легко, интереснее отыскать точку начала цикла с такими же ограничениями.
Всё это неплохо описано у Степанова в первых главах Elements of Programming для произвольных преобразований вида x = f(x).
Хм, скачал, почитаю. Спасибо!
> алгоритм госпера?
Скорее флойда, раз хотели константную память.
http://www.geeksforgeeks.org/
На днях вот эту решал, доставила, хоть и простая:
O_o
Ку сама по себе структура жезж
Ну да, логично.
по-моему, всё опять линейно (надеюсь, что ошибаюсь), только из-за while стэку чуть легче
Тут амортизированное O(n).
Записи набиваются в один стек, а вынимаются из другого. Когда правый стек пуст - все записи из левого перебрасываются в него. В итоге на n пропущенных через очередь записей имеем 2*n вставок в стек и 2*n вытаскиваний из него (но некоторые dequeue работают дольше, чем остальные).
амортизированное О(1) ты хотел сказать? Тред не читал и может вы не об этом
Да, конечно. Опечатался я.
Эээ, какой хеш? Там вроде бы речь шла о очереди через джва стека.
О :)
Ох, не, не так... но близко. Нужно числа в качестве ключей использовать. Но переписывать влом. Так будет работать только если в кью складывать разные элементы.
Не, все-таки сделал.
Я именно так решал эту задачу в codehurt, поскольку стандартные жаба-структуры там залочили.
Решил битовыми наборами (хорошо что в codehurt массивы короче 32). Только там надо индексы вместо значений
So, I started to read this book. It feels like a Functional Analysis lecture... My mind is cracking and blowing...
But it's a nice book and I'm enjoying the reading. Thank you!
> мову
> юзай!
I'm lol'd. What language do you speak? It's definitely not russian...
So, I'll continue to fuck your brain with my poor spelling skills. It's a very funny experience.
O(n^2) по времени и O(n) по памяти сойдет за ответ?
Благодаря жабе, пожалуй, фабрика.
Синглтон
синглтА какой?
Есть такой анекдот:
Нужно на собеседовании попросить программиста решить задачу с помощью sed. Если справится - ни за что не брать! Он, блин, всё будет этим sed делать!
sed -i -e 's/sed/шаблоны проектирования/g'
Я вообще не представляю как в msdn добавили такой не адекватный пример.
Или думает использовать эксепт с О(n*m) вместо амортизированного О(m).
Я вообще не представляю как в C# добавили такую тормозную штуку с такой алгоритмической сложностью.