[!] Алгоритмические задачи Собеседований - курс для начинающих и продолжающих: "Алгоритмы и структуры данных")

Уроки

Отдельные вопросы

Задачи

Допонительные материалы

vedro-compota's picture

Тут рассматриваются в том числе задачи:

1) Есть массив целых чисел (10 элементов), например:
[1, 3, 2, 1, 3, 2, 2, 4, 0, -5]
Задача: вывести на экран все числа, которые встречаются нечетное число раз.
Т.е. в данном случае это:
2, 4, 0, -5

2) У вас есть массив целых чисел, в котором встречаются нули, например:
[0, 3, 2, 1, 0, 3, 2, 4, 0, -5]
Перенесите эти нули в конец массива, чтобы в итоге мы получили:
[3, 2, 1, 3, 2, 4, -5, 0, 0, 0]

3) У нас есть массив целых чисел:
[123, 45, 5638, 49, -78, 22, 5, 345, 68, 7]
из него удалили некоторые элементы, так что он получил вид:
[123, 5638, 22, 5, 68, 7, 0, 0, 0, 0]
-- выведите на экран числа, которые были удалены.
Например, в данном случае ожидается вывод:
[45, 49, -78, 345]

4) У есть строка, например "Привет!" требуется развернуть символы в ней в обратном порядке, чтобы получились "!тевирП"

5) Задача «Сумма двух»:
список чисел, найти порядковые номера (индексы) двух чисел из этого списка, которые в сумме дают заданное число-цель (target)
Например, для чисел:
2, 3, 7, 11, 15}
и целевого числа 9
ответ будет:
2 и 7

6) Проверить, правильно ли закрываются скобки ()[]{}
Например:
()[]{} - правильно
([{}[]])() -правильно
({]){} - неправильно

7) У нас есть два списка отрезков упорядоченных отрезков "времени" вида:

1) [1, 5] [7, 10]
2) [2, 8] [9, 12] [13, 15]

-- требуется найти список пересечений этих отрезков, напр. в данном случае ответ будет:
[2, 5] [7, 8] [9, 10]

8) Дан целочисленный массив nums. Нужно найти непрерывный подмассив (содержащий хотя бы один элемент), сумма элементов которого максимальна, и вернуть эту сумму.
Примеры:
* {-2, 1, -3, 4, -1, 2, 1, -5, 4} --> { 4, -1, 2, 1} --> 6
* {-2, 3, -1} --> {3} --> 3
* {3, -2, 3, -1} --> {3} --> 3
* {-1, -2, -1} --> {-1} --> -1

_____________
матфак вгу и остальная классика =)