思路:两数之和
刷过这个题的同学,可能从来都没想清楚过,为什么要从右上角或者左下角开始枚举。
核心:本题给的矩阵,就是两个有序数组两两相加所构成的二维矩阵
先考虑这样一个问题:给定两个长度为n的升序数组a,b 。考虑从两个数组中拿出任意两个元素进行相加,要求加出来的数恰好是k
例如:a=[1,3,4,5],b=[1,3,5,6],k=5
编写一个 高效的算法 来搜索 m × n 矩阵 matrix 中的目标值 target。该矩阵具有以下特性:
m 和 n,表示矩阵的行数和列数。(1 ≤ m, n ≤ 300)m 行,每行输入 n 个整数,表示矩阵的元素。(-10^9 ≤ matrix[i][j] ≤ 10^9)target,表示要搜索的目标值。(-10^9 ≤ target ≤ 10^9)true 或 false,表示是否在矩阵中找到 target。5 5
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
5
true
5 5
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
20
false