filmov
tv
89 - Count Vowels Permutation - Dynamic Programming approach 1

Показать описание
Pseudo code:
// mod = 10^9 + 7
long a = 1, e = 1, i = 1, o = 1, u = 1;
long a2, e2, i2, o2, u2;
for (int j = 2; j is less than or equal to n; j++) {
a2 = (e + i + u) % mod;
e2 = (a + i) % mod;
i2 = (e + o) % mod;
o2 = i;
u2 = (o + i) % mod;
a = a2;
e = e2;
i = i2;
o = o2;
u = u2;
}
long result = 0L;
result = (result + a) % mod;
result = (result + e) % mod;
result = (result + i) % mod;
result = (result + o) % mod;
result = (result + u) % mod;
return (int) result;
// mod = 10^9 + 7
long a = 1, e = 1, i = 1, o = 1, u = 1;
long a2, e2, i2, o2, u2;
for (int j = 2; j is less than or equal to n; j++) {
a2 = (e + i + u) % mod;
e2 = (a + i) % mod;
i2 = (e + o) % mod;
o2 = i;
u2 = (o + i) % mod;
a = a2;
e = e2;
i = i2;
o = o2;
u = u2;
}
long result = 0L;
result = (result + a) % mod;
result = (result + e) % mod;
result = (result + i) % mod;
result = (result + o) % mod;
result = (result + u) % mod;
return (int) result;