1 Название Описание
(Длина каждого одномерного массива из же), каждая строка слева направо в порядке возрастания сортировки, чтобы отсортировать каждый столбец в двумерный массив в порядке возрастания от верха до низа. Полная функция, ввести такой двумерный массив и целое число, то определяются, содержит ли массив целого числа.
2 насильственного решение проблем
2.1 Анализ
Один за другим через массив, она возвращает истину, если найдено, обыскали весь массив не может быть найден, он возвращает ложь.
2.2 Код
class Solution:
# array 二维列表
def Find(self, target, array):
for i in array:
for j in i:
if j == target:
return True
return False
2,3 Сложность
Время Сложность:
Пространство сложности:
3 из правого верхнего угла, чтобы начать поиск
3.1 Анализ
Условиях , указанные, массив увеличивается слева направо, сверху вниз увеличивается,
то есть самый правый элемент в каждой строке для значения максимальной строки;
Анализ:
Это значение равно целей, возвращает истину,
это значение меньше , чем цели, исключено строка, вниз на одну строку;
это значение больше , чем мишень, столбец исключается, левый;
3.2 Код
class Solution:
# array 二维列表
def Find(self, target, array):
rows = len(array)
cols = len(array[0])
i = 0
j = cols - 1
while i<rows and j>=0:
if array[i][j] == target:
return True
elif array[i][j] < target:
i = i + 1
elif array[i][j] > target:
j = j - 1
return False
3.3 Сложность
Сложность Время: O (строки + COLS)
Сложность Площадь: O (1)