lc-go/solutions/0/q74/solution.go
2026-01-15 14:57:22 +09:00

23 lines
401 B
Go

package q74
func searchMatrix(matrix [][]int, target int) bool {
w, h := len(matrix[0]), len(matrix)
idx := func(i int) (int, int) { return i / w, i % w }
l, r := 0, w*h
for l < r {
m := (l + r) / 2
row, col := idx(m)
switch {
case matrix[row][col] == target:
return true
case matrix[row][col] < target:
l = m + 1
default:
r = m
}
}
return false
}
var _ = searchMatrix