@@ -60,12 +60,18 @@ class Solution:
60
60
class Solution {
61
61
public boolean findNumberIn2DArray (int [][] matrix , int target ) {
62
62
int m, n;
63
- if (matrix == null || (m = matrix. length) == 0 || matrix[0 ] == null || (n = matrix[0 ]. length) == 0 ) return false ;
64
- int i = 0 , j = n - 1 ;
65
- while (i < m && j >= 0 ) {
66
- if (matrix[i][j] == target) return true ;
67
- if (matrix[i][j] > target) -- j;
68
- else ++ i;
63
+ if (matrix == null || (m = matrix. length) == 0 || matrix[0 ] == null || (n = matrix[0 ]. length) == 0 ) {
64
+ return false ;
65
+ }
66
+ for (int i = 0 , j = n - 1 ; i < m && j >= 0 ;) {
67
+ if (matrix[i][j] == target) {
68
+ return true ;
69
+ }
70
+ if (matrix[i][j] < target) {
71
+ ++ i;
72
+ } else {
73
+ -- j;
74
+ }
69
75
}
70
76
return false ;
71
77
}
@@ -81,45 +87,43 @@ class Solution {
81
87
* @return {boolean}
82
88
*/
83
89
var findNumberIn2DArray = function (matrix , target ) {
84
- let m, n;
85
- if (
86
- matrix == null ||
87
- (m = matrix .length ) == 0 ||
88
- matrix[0 ] == null ||
89
- (n = matrix[0 ].length ) == 0
90
- )
90
+ let m, n;
91
+ if (matrix == null || (m = matrix .length ) == 0 || matrix[0 ] == null || (n = matrix[0 ].length ) == 0 ) {
92
+ return false ;
93
+ }
94
+ for (let i = 0 , j = n - 1 ; i < m && j >= 0 ;) {
95
+ if (matrix[i][j] == target) {
96
+ return true ;
97
+ }
98
+ if (matrix[i][j] < target) {
99
+ ++ i;
100
+ } else {
101
+ -- j;
102
+ }
103
+ }
91
104
return false ;
92
- let i = 0 ,
93
- j = n - 1 ;
94
- while (i < m && j >= 0 ) {
95
- if (matrix[i][j] == target) return true ;
96
- if (matrix[i][j] > target) -- j;
97
- else ++ i;
98
- }
99
- return false ;
100
105
};
101
106
```
102
107
103
108
### ** Go**
104
109
105
110
``` go
106
111
func findNumberIn2DArray (matrix [][]int , target int ) bool {
107
- if len (matrix) == 0 {
108
- return false
109
- }
110
- rows , cols := len (matrix), len (matrix[0 ])
111
- i , j := rows - 1 , 0
112
- for i >= 0 && j < cols {
113
- if matrix[i][j] == target {
114
- return true
115
- }
116
- if matrix[i][j] > target {
117
- i--
118
- } else {
119
- j++
120
- }
121
- }
122
- return false
112
+ if len (matrix) == 0 {
113
+ return false
114
+ }
115
+ m , n := len (matrix), len (matrix[0 ])
116
+ for i , j := 0 , n-1 ; i < m && j >= 0 ; {
117
+ if matrix[i][j] == target {
118
+ return true
119
+ }
120
+ if matrix[i][j] < target {
121
+ i++
122
+ } else {
123
+ j--
124
+ }
125
+ }
126
+ return false
123
127
}
124
128
```
125
129
0 commit comments