File tree Expand file tree Collapse file tree 1 file changed +8
-8
lines changed
src/main/java/g3401_3500/s3405_count_the_number_of_arrays_with_k_matching_adjacent_elements Expand file tree Collapse file tree 1 file changed +8
-8
lines changed Original file line number Diff line number Diff line change 33// #Hard #2024_12_29_Time_57_(100.00%)_Space_44.55_(100.00%)
44
55public class Solution {
6- private final int mod = (int ) (1e9 + 7 );
6+ private final static int MOD = (int ) (1e9 + 7 );
77
88 public int countGoodArrays (int n , int m , int k ) {
99 long [] f = new long [n + 1 ];
1010 f [0 ] = 1 ;
1111 f [1 ] = 1 ;
1212 for (int i = 2 ; i < f .length ; i ++) {
13- f [i ] = (f [i - 1 ] * i % mod );
13+ f [i ] = (f [i - 1 ] * i % MOD );
1414 }
1515 long ans = comb (n - 1 , k , f );
16- ans = ans * m % mod ;
17- ans = ans * ex (m - 1 , n - k - 1 ) % mod ;
16+ ans = ans * m % MOD ;
17+ ans = ans * ex (m - 1L , n - k - 1L ) % MOD ;
1818 return (int ) ans ;
1919 }
2020
2121 private long ex (long b , long e ) {
2222 long ans = 1 ;
2323 while (e > 0 ) {
2424 if (e % 2 == 1 ) {
25- ans = (ans * b ) % mod ;
25+ ans = (ans * b ) % MOD ;
2626 }
27- b = (b * b ) % mod ;
27+ b = (b * b ) % MOD ;
2828 e = e >> 1 ;
2929 }
3030 return ans ;
3131 }
3232
3333 private long comb (int n , int r , long [] f ) {
34- return f [n ] * (ff (f [r ])) % mod * ff (f [n - r ]) % mod ;
34+ return f [n ] * (ff (f [r ])) % MOD * ff (f [n - r ]) % MOD ;
3535 }
3636
3737 private long ff (long x ) {
38- return ex (x , mod - 2 );
38+ return ex (x , MOD - 2L );
3939 }
4040}
You can’t perform that action at this time.
0 commit comments