Изменения

Перейти к: навигация, поиск

Поиск в матрице

466 байт добавлено, 15:28, 10 января 2016
Нет описания правки
== Решение за O(n + m) ==
В данном решении мы начинаем поиск из правого верхнего угла и движемся к искомому элементу. Идея алгоритма в том, что если текущий элемент меньше необходимого, то мы сдвигаемся на одну строку вниз. Если он больше, то мы сдвигаемся на одну колонку вправо.     == Код ==  '''if''' (target < a[0][0] || target > a[N-1][N-1]) '''return''' false; row = 0; col = N-1; '''while''' (row <= N-1 && col >= 0) { '''if''' (a[row][col] < target) row++; '''else if''' (a[row][col] > target) col--; '''else''' '''return''' true; '''return''' false; [[Файл:Examplefind13.jpgpng|320px|thumb|right|Пример поиска числа 13 в матрице]] ===Оценка времени работы===
54
правки

Навигация