Policz parzystą długość
Jan 01 2023
GFG Problem dnia [ 01 stycznia 2023 ]
Mając daną liczbę n, znajdź liczbę wszystkich ciągów binarnych o długości 2n takich, że suma pierwszych n bitów jest taka sama jak suma ostatnich n bitów. Odpowiedź może być bardzo duża.
Mając daną liczbę n, znajdź liczbę wszystkich ciągów binarnych o długości 2n takich, że suma pierwszych n bitów jest taka sama jak suma ostatnich n bitów.
Odpowiedź może być bardzo duża. Musisz więc zwrócić odpowiedź modulo 10^9+7.
Przykład:
Input: n = 2
Output: 6
Explanation: There are 6 sequences of length
2*n, the sequences are 0101, 0110, 1010, 1001,
0000 and 1111.
Input: n = 1
Output: 2
Explanation: There are 2 sequence of length
2*n, the sequence are 00 and 11.
Oczekiwana złożoność czasowa: O(n * log(n))
Oczekiwana złożoność przestrzenna: O(1)
Rozwiązanie
class Solution {
public long power(long x, long y, long p) {
long res = 1l;
x = x % p;
while (y > 0) {
if (y % 2 == 1)
res = (res * x) % p;
y = y >> 1;
x = (x * x) % p;
}
return res;
}
public long modInverse(long n, long p) {
return power(n, p - 2, p);
}
public int compute_value(int n) {
// code here
long ans = 1l;
long mod = (long)(Math.pow(10, 9) + 7l);
long compute = 1l;
for(int i=0;i<n;i++) {
compute = (compute%mod * (long)(n-i)%mod) % mod;
compute = (compute%mod * modInverse(i+1, mod)%mod) % mod;
ans = (ans%mod + (compute%mod*compute%mod)%mod) % mod;
}
return (int)(ans%mod);
}
}
Złożoność przestrzeni: O(1)
Dołącz do mojego kanału Telegram, aby uzyskać wszystkie rozwiązania GFG POD.
https://t.me/sole_master_coding
Dziękuje wszystkim !!!
Szczęśliwego Nowego Roku !!!

![Czym w ogóle jest lista połączona? [Część 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































