@@ -36,21 +36,62 @@ Hence, we return false.
36
36
<li><code>1 <= matrix[i][j] <= n</code></li>
37
37
</ul >
38
38
39
-
40
39
## Solutions
41
40
42
41
<!-- tabs:start -->
43
42
44
43
### ** Python3**
45
44
46
45
``` python
47
-
46
+ class Solution :
47
+ def checkValid (self , matrix : List[List[int ]]) -> bool :
48
+ n = len (matrix)
49
+ for i in range (n):
50
+ seen = [False ] * n
51
+ for j in range (n):
52
+ v = matrix[i][j] - 1
53
+ if seen[v]:
54
+ return False
55
+ seen[v] = True
56
+ for j in range (n):
57
+ seen = [False ] * n
58
+ for i in range (n):
59
+ v = matrix[i][j] - 1
60
+ if seen[v]:
61
+ return False
62
+ seen[v] = True
63
+ return True
48
64
```
49
65
50
66
### ** Java**
51
67
52
68
``` java
53
-
69
+ class Solution {
70
+ public boolean checkValid (int [][] matrix ) {
71
+ int n = matrix. length;
72
+ for (int i = 0 ; i < n; ++ i) {
73
+ boolean [] seen = new boolean [n];
74
+ for (int j = 0 ; j < n; ++ j) {
75
+ int v = matrix[i][j] - 1 ;
76
+ if (seen[v]) {
77
+ return false ;
78
+ }
79
+ seen[v] = true ;
80
+ }
81
+ }
82
+ for (int j = 0 ; j < n; ++ j) {
83
+ boolean [] seen = new boolean [n];
84
+ for (int i = 0 ; i < n; ++ i) {
85
+ int v = matrix[i][j] - 1 ;
86
+ if (seen[v]) {
87
+ return false ;
88
+ }
89
+ seen[v] = true ;
90
+ }
91
+ }
92
+ return true ;
93
+ }
94
+ }
54
95
```
55
96
56
97
### ** TypeScript**
@@ -69,9 +110,70 @@ function checkValid(matrix: number[][]): boolean {
69
110
}
70
111
}
71
112
return true ;
113
+ }
114
+ ```
115
+
116
+ ### ** C++**
117
+
118
+ ``` cpp
119
+ class Solution {
120
+ public:
121
+ bool checkValid(vector<vector<int >>& matrix) {
122
+ int n = matrix.size();
123
+ for (int i = 0; i < n; ++i)
124
+ {
125
+ vector<bool > seen(n);
126
+ for (int j = 0; j < n; ++j)
127
+ {
128
+ int v = matrix[ i] [ j ] - 1;
129
+ if (seen[ v] ) return false;
130
+ seen[ v] = true;
131
+ }
132
+ }
133
+ for (int j = 0; j < n; ++j)
134
+ {
135
+ vector<bool > seen(n);
136
+ for (int i = 0; i < n; ++i)
137
+ {
138
+ int v = matrix[ i] [ j ] - 1;
139
+ if (seen[ v] ) return false;
140
+ seen[ v] = true;
141
+ }
142
+ }
143
+ return true;
144
+ }
72
145
};
73
146
```
74
147
148
+ ### **Go**
149
+
150
+ ```go
151
+ func checkValid(matrix [][]int) bool {
152
+ n := len(matrix)
153
+ for i := 0; i < n; i++ {
154
+ seen := make([]bool, n)
155
+ for j := 0; j < n; j++ {
156
+ v := matrix[i][j] - 1
157
+ if seen[v] {
158
+ return false
159
+ }
160
+ seen[v] = true
161
+ }
162
+ }
163
+ for j := 0; j < n; j++ {
164
+ seen := make([]bool, n)
165
+ for i := 0; i < n; i++ {
166
+ v := matrix[i][j] - 1
167
+ if seen[v] {
168
+ return false
169
+ }
170
+ seen[v] = true
171
+ }
172
+ }
173
+ return true
174
+ }
175
+ ```
176
+
75
177
### ** ...**
76
178
77
179
```
0 commit comments