File tree 3 files changed +82
-0
lines changed
solution/0900-0999/0935.Knight Dialer
3 files changed +82
-0
lines changed Original file line number Diff line number Diff line change @@ -195,6 +195,35 @@ func knightDialer(n int) int {
195
195
}
196
196
```
197
197
198
+ ### ** C#**
199
+
200
+ ``` cs
201
+ public class Solution {
202
+ public int KnightDialer (int n ) {
203
+ if (n == 1 ) return 10 ;
204
+ int A = 4 ;
205
+ int B = 2 ;
206
+ int C = 2 ;
207
+ int D = 1 ;
208
+ int MOD = (int )1 e 9 + 7 ;
209
+ for (int i = 0 ; i < n - 1 ; i ++ ) {
210
+ int tempA = A ;
211
+ int tempB = B ;
212
+ int tempC = C ;
213
+ int tempD = D ;
214
+ A = ((2 * tempB ) % MOD + (2 * tempC ) % MOD ) % MOD ;
215
+ B = tempA ;
216
+ C = (tempA + (2 * tempD ) % MOD ) % MOD ;
217
+ D = tempC ;
218
+ }
219
+
220
+ int ans = (A + B ) % MOD ;
221
+ ans = (ans + C ) % MOD ;
222
+ return (ans + D ) % MOD ;
223
+ }
224
+ }
225
+ ```
226
+
198
227
### ** ...**
199
228
200
229
```
Original file line number Diff line number Diff line change @@ -176,6 +176,35 @@ func knightDialer(n int) int {
176
176
}
177
177
```
178
178
179
+ ### ** C#**
180
+
181
+ ``` cs
182
+ public class Solution {
183
+ public int KnightDialer (int n ) {
184
+ if (n == 1 ) return 10 ;
185
+ int A = 4 ;
186
+ int B = 2 ;
187
+ int C = 2 ;
188
+ int D = 1 ;
189
+ int MOD = (int )1 e 9 + 7 ;
190
+ for (int i = 0 ; i < n - 1 ; i ++ ) {
191
+ int tempA = A ;
192
+ int tempB = B ;
193
+ int tempC = C ;
194
+ int tempD = D ;
195
+ A = ((2 * tempB ) % MOD + (2 * tempC ) % MOD ) % MOD ;
196
+ B = tempA ;
197
+ C = (tempA + (2 * tempD ) % MOD ) % MOD ;
198
+ D = tempC ;
199
+ }
200
+
201
+ int ans = (A + B ) % MOD ;
202
+ ans = (ans + C ) % MOD ;
203
+ return (ans + D ) % MOD ;
204
+ }
205
+ }
206
+ ```
207
+
179
208
### ** ...**
180
209
181
210
```
Original file line number Diff line number Diff line change
1
+ public class Solution {
2
+ public int KnightDialer ( int n ) {
3
+ if ( n == 1 ) return 10 ;
4
+ int A = 4 ;
5
+ int B = 2 ;
6
+ int C = 2 ;
7
+ int D = 1 ;
8
+ int MOD = ( int ) 1e9 + 7 ;
9
+ for ( int i = 0 ; i < n - 1 ; i ++ ) {
10
+ int tempA = A ;
11
+ int tempB = B ;
12
+ int tempC = C ;
13
+ int tempD = D ;
14
+ A = ( ( 2 * tempB ) % MOD + ( 2 * tempC ) % MOD ) % MOD ;
15
+ B = tempA ;
16
+ C = ( tempA + ( 2 * tempD ) % MOD ) % MOD ;
17
+ D = tempC ;
18
+ }
19
+
20
+ int ans = ( A + B ) % MOD ;
21
+ ans = ( ans + C ) % MOD ;
22
+ return ( ans + D ) % MOD ;
23
+ }
24
+ }
You can’t perform that action at this time.
0 commit comments