Lesson 165, №766, Toeplitz Matrix / Leetcode
Проверка диагоналей (isToeplitzMatrix_diagonal): Проходим по каждой диагонали отдельно Начинаем с первой строки и первого столбца Проверяем равенство всех элементов в диагонали Преимущества: прямая реализация идеи из определения Проверка соседей (isToeplitzMatrix_neighbors): Используем свойство: каждый элемент должен быть равен элементу слева-сверху Проверяем это условие для всех элементов кроме первой строки и столбца Преимущества: более простая реализация Потоковое решение (isToeplitzMatrix_stream): Подходит для случая с ограниченной памятью Храним только предыдущую строку Сравниваем текущую строку с предыдущей со сдвигом Преимущества: экономия памяти Тесты включают: Базовые случаи из условия Матрица 1x1 Квадратные и прямоугольные матрицы Специальные случаи (горизонтальные линии) Также стоит отметить, что в случае хранения матрицы на диске и ограничений памяти (follow-up вопросы): Если можно загружать только одну строку - подходит потоковое решение Если можно загружать только часть строки - нужно модифицировать потоковое решение для работы с блоками
Название:
Lesson 165, №766, Toeplitz Matrix / Leetcode
Категория:
Разное