UniLecs | Программирование
16.4K subscribers
1.01K photos
7 videos
3 files
1.27K links
🤘🏻Задачи, головоломки, книги и другие радости программиста.

Оглавление канала: telegra.ph/UniLecs-FAQ-09-30

Чат: @unilecs_chat
Бот: @unilecsBot
VK: vk.com/unilecs

Админ, сотрудничество: @dashalvv
Редактор: @amdavletov
Download Telegram
Не знаю почему, но 26я задача стала довольно популярной у вас 😄
Поэтому я публикую все ваши реализации отдельно.
Спасибо всем кто прислал свои реализации: @Take_Care, @sergeysova, @pakrulin, @mrmeison, @shigatan !
Отдельное спасибо @shigatan, за то что разбавила кучу решений на JS, прислав нам свою версию на C# 😄

P.S. еще раз хочу сказать, что мы стараемся решать алгоритмические задачки, и язык программирования абсолютно не важен.
Поэтому я стараюсь не использовать или использовать по минимуму любые фишки из коробки языка программирования.
Например функция reduce() из JS, довольно много скрыто под капотом этой функции. Те кто не знаком с JS (есть ли такие :), могут не понять суть решения.
Поэтому старайтесь присылать свои решения, используя простые конструкции языка.
Всем спасибо, надеюсь вы меня поняли :)
http://telegra.ph/Task-26-1-Preobrazovanie-massiva-putem-proizvedeniya-vseh-znachenij-10-18
Анонс задачи:
Реализовать операции вычитания, умножения и деления через операцию сложения.

Задача простая, но ее тоже довольно часто дают на собесах, для того чтобы посмотреть ход ваших мыслей 🎓
Анонс задачи (задачу нам прислал @mrshakirov):
Две строки можно сделать одинаковыми, выполняя определенное количество операций перестановок символов над одной или обеими строками.

Возможны следующие операции:
1. SwapEven: обмен символом с индексом с четным номером с символом в другом индексе с четным номером.
2. SwapOdd: обмен символом с индексом с нечетным номером с символом в другом индексе с нечетным номером.

Например, строки "abcd", "cdab" можно сделать одинаковыми, переставив символы:
- "c" (символ с нечетным индексом 1) / "a" (символ с нечетным индеком 3)
- "d" (символ с четным индексом 2) / "b" (символ с четным индексом 4)

В другому примере строки "abcd", "bcda" нельзя сделать одинаковыми,
т.к. например символ "a" в первом слове стоит на нечетном индексе (1), во втором слове на четном (4).

Написать функцию, ктр проверит возможно ли сделать две строки одинаковыми.
Наш канал вырос до 1 тыс человек! 🎓😊
И я бы хотел отдельно поблагодарить людей, ктр абсолютно безвозмездно и по собственной инициативе продвигали @UniLecs в своих каналах и чатах.

@Cybercommunist разместил нас в своей подборке на своем канале https://t.me/Torchik_Ru

@Fl0pZz больше недели объяснял фронтендщикам из чата pro.js.noobs: https://telegram.me/joinchat/Be4rsT3Uyr1TjmSlrRc77g
что нужно заниматься алгоритмами и как это важно :)

Ребя, спасибо вам !
Анонс задачи:
Дан массив целых чисел. Вывести все пары чисел в массиве, сумма ктр равна заданному целому числу X.
Для примера используйте следующий массив:
[ 3, 4, 5, -2, 10, 11, 12, -1, 0, 7, 8 ]
X = 10

Вы также можете посмотреть подобную задачу с поиском двух множителей в массиве.
https://t.me/unilecs/20
В догонку кидаю еще одно решение задачи о строках "близнецах" от нашего подписчика @EgorBazhenov
Реализация на Ruby.
https://gist.github.com/unilecs/beb603b1ee82b0c437aa29aadfb6f30d
🎓Анонс задачи 30 :
Даны два целых числа.
Написать функцию, ктр возвращает максимальный элемент без использования if/else и других операторов сравнения.

P.S. разумеется решение с помощью функции Max из коробки языка довольно оригинальное :) ну вы поняли вообщем.
Присылайте свои варианты решений, мы все опубликуем в понедельник.
Всем хороших выходных 😜
🎓 Анонс задачи 31 (решение будет в среду).
Найти минимальное расстояние между словами в тексте.
Дан массив слов. Найти минимальное расстояние (кол-во слов) между двумя любыми словами. Порядок слов не учитывать.
Например, [ "test_1", "test_2", "test_3", "test_4", "test_5", "test_1" ]
Минимальное расстояние между словами "test_1", "test_4" равно 1 слову.

P.S. задача не сложная, но также встречается на собеседованиях, скорее на позиции junior/middle.
Мне много писали начинающие/новички в программировании. Ребят, задача как раз для вас. Если у вас возникнут вопросы, пишите в лс.
Клейнберг_Дж_,_Тардос_Е_Алгоритмы.pdf
11.5 MB
#книги_по_алгоритмам
Дж. Клейнберг, Е. Тардос | Алгоритмы. Разработка и применение
#2016

@bzd_channel - больше 800 книг для программистов всех мастей!
@beraliv прислал нам свои варианты решений задач 29 и 12.
Напомню,

Задача 12: есть ли такие два числа в в массиве, перемножив ктр мы получим заданное число X.
https://t.me/unilecs/20

Задача 29: найти все пары чисел в массиве, сумма ктр равна заданному числу X.
https://t.me/unilecs/71

Реализации довольно интересные, поэтому смотрим/тестим 😜
http://telegra.ph/Task-12-29-Nahodim-ehlementy-massiva-summa--proizvedenie-ktr-ravna-zadannomu-znacheniyu-X-10-24
@timfay заметил небольшой косяк во 2й задаче.
Я не учел пограничный случай, когда массив отсортирован и сдвинут циклически на 0 элементов. В этом случае код не работал.

Исправляем ситуацию, заодно вспоминаем 2ю задачу 😉
@timfay, спасибо за твой фидбек и орлиный глаз 👍🏻
https://t.me/unilecs/6