Contar incluso la longitud

Jan 01 2023
Problema del día de GFG [ 1 de enero de 2023 ]
Dado un número n, encuentre el conteo de todas las secuencias binarias de longitud 2n tal que la suma de los primeros n bits sea igual a la suma de los últimos n bits. La respuesta puede ser muy grande.
Foto de Tingey Injury Law Firm en Unsplash

Dado un número n, encuentre el conteo de todas las secuencias binarias de longitud 2n tal que la suma de los primeros n bits sea igual a la suma de los últimos n bits.
La respuesta puede ser muy grande. Entonces, debe devolver la respuesta módulo 10 ^ 9 + 7.

Ejemplo:

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.

Complejidad de tiempo esperada: O(n * log(n))
Complejidad de espacio esperada: O(1)

Solución

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);
    }
}

Complejidad espacial: O(1)

Únase a mi canal de Telegram para obtener todas las soluciones GFG POD.

https://t.me/sole_master_coding

Gracias a todos !!!

Feliz año nuevo !!!