#23 Алгоритмы (урок в разработке)

Задачи

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

    Задача: вывести на экран все числа, которые встречаются нечетное число раз.
    Т.е. в данном случае это:

    2, 4, 0, -5 

    Решите:

    1. любым способом
    2. за 1 прочтение массива (сложность меньше или равную N) с результатом, готовым к выводу, без проверок каждого элемента.

    Примечание: давалась как простая разминочная задачка для собеседования в Яндекс.

  2. Есть массив (пусть не более 10 элементов):
    [0, 3, 2, 1, 0, 3, 2, 4, 0, -5]

    Задача: перенести все нули в конец, так чтобы в итоге получилось:

    [3, 2, 1, 3, 2, 4, -5, 0, 0, 0]

    Решите:

    1. Любым способом
    2. Решите со сложностью не более чем 2N

    Примечание: давалась как простая разминочная задачка для собеседования в Яндекс.

  3. Есть массив массив уникальных, ненулевых элементов (целые числа, 10 элементов):
    [123, 45, 5638, 49, -78, 22, 5, 345, 68, 7]

    После каких-то преобразований получился массив:

    [123, 5638, 22, 5, 68, 7, 0, 0, 0, 0]

    Задача: сформируйте ещё один массив из "потерянных" чисел (всех элементов 1-ого массива, которых нет во втором).

    Примечание: давалась как простая разминочная задачка для собеседования в Яндекс.