123456789101112131415161718192021222324252627282930313233 |
- package main
- func searchMatrix(matrix [][]int, target int) bool {
- if len(matrix) == 0 || len(matrix[0]) == 0 {
- return false
- }
- m, n := len(matrix), len(matrix[0])
- beg, end := 0, m*n-1
- for beg <= end {
- mid := (beg + end) / 2
- midVal := matrix[mid/n][mid%n]
- if target > midVal {
- beg = mid + 1
- } else if target < midVal {
- end = mid - 1
- } else {
- return true
- }
- }
- return false
- }
- /* func main() {
- m1 := [][]int{
- {1, 3, 6, 8},
- {9, 13, 53, 76},
- {99, 123, 243, 453},
- {654, 765, 876, 987},
- }
- fmt.Println(searchMatrix(m1, 987))
- fmt.Println(searchMatrix(m1, 97))
- fmt.Println(searchMatrix(m1, 1))
- } */
|