Тех собес на middle-senior Python Разработчик в ****

Доступно с премиум-подпиской

Оформите премиум-подписку, чтобы получить доступ к:

  • Фильтрации по компаниям
  • Названиям компаний в интервью
  • Видеозаписям собеседований в категории Python Разработчик

Посмотреть видео в категории

(2025-01-30)

Техническое собеседование

  • Задача 1 На вход дается 2D матрица из 0 и 1. Сначала идут 0, потом после 1-й единицы идут только единицы. Нужно найти массив с наибольшим кол-вом единиц и вывести кол-во 1. Решение за O(n+k) по времени.

    Примеры:

    grid = [
        ["0","0","0","1","1"],
        ["0","0","1","1","1"],
        ["0","0","0","0","1"],
        ["0","1","1","1","1"]
    ]
    result: 4
    grid = [
        ["0","0","0","0","0"],
        ["0","0","0","0","0"],
        ["0","0","0","0","0"],
        ["0","0","0","0","0"]
    ]
    result: 0

    Идея решения: Нужно идти всегда справа налево. В первом массиве находишь самую левую единицу и дальше спускаешься вниз по массивам и смотришь этот индекс (индекс самой левой единицы в первом массиве). Если по индексу этому в нижнем массиве — 0 — то идешь ниже, если 1 — то снова ищешь самую левую единицу в массиве и дальше уже сравниваешь с новым индексом. В ответе: длина_массива — самый_левый_найденный_индекс_единицы