NOTE
搜索二维矩阵
从右上角开始搜索行列均有序的二维矩阵。
这是历史学习笔记,可能存在过时或不完整的理解。
1. 题目描述
编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:
每行的元素从左到右升序排列。 每列的元素从上到下升序排列
2. 思路
- 思路一
- 从右上角开始往左下角查找
- 思路二
- 对每行元素使用二分查找
3. 实现
func searchMatrix(matrix [][]int, target int) bool {
row := 0
col := len(matrix[0])-1
for row < len(matrix) && col >= 0 {
if matrix[row][col] < target {
row++
}else if matrix[row][col] > target {
col--
}else {
return true
}
}
return false
}
讨论
使用 GitHub 账号参与讨论,评论会保存在 GitHub Issues 中。在 GitHub 查看