You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
933 B
38 lines
933 B
'''
|
|
Author: SJ2050
|
|
Date: 2021-10-16 22:04:07
|
|
LastEditTime: 2021-10-16 23:25:30
|
|
Version: v0.0.1
|
|
Description: Solution for homework7.
|
|
Copyright © 2021 SJ2050
|
|
'''
|
|
def searchMatrix(matrix, target):
|
|
if (len(matrix) == 0 ):
|
|
return False
|
|
|
|
i = len(matrix)-1
|
|
j = 0
|
|
while (i>=0 and j < len(matrix[0])):
|
|
if (matrix[i][j] == target):
|
|
return True
|
|
elif (matrix[i][j] < target):
|
|
j += 1
|
|
elif(matrix[i][j] > target):
|
|
i -= 1
|
|
|
|
return False
|
|
|
|
if __name__ == "__main__":
|
|
matrix = [
|
|
[1, 4, 7, 11, 15],
|
|
[2, 5, 8, 12, 19],
|
|
[3, 6, 9, 16, 22],
|
|
[10, 13, 14, 17, 24],
|
|
[18, 21, 23, 26, 30]
|
|
]
|
|
target = 20
|
|
print(searchMatrix(matrix, target))
|
|
|
|
# 算法说明:
|
|
# 从矩阵左下角,先排除不符合条件的列,再排除不符合条件的行,将范围一直往右上角缩小
|