Skip to content

Commit 973e727

Browse files
authored
Merge pull request neetcode-gh#2901 from mdmzfzl/main
Create: 2140-solving-questions-with-brainpower.c & 2466-count-ways-to-build-good-strings.c
2 parents 38d4fc8 + 057e862 commit 973e727

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
long long mostPoints(int** questions, int questionsSize, int* questionsColSize) {
2+
int n = questionsSize;
3+
long long* dp = (long long*)malloc((n + 1) * sizeof(long long));
4+
5+
for (int i = 0; i <= n; i++) {
6+
dp[i] = 0;
7+
}
8+
9+
for (int i = n - 1; i >= 0; i--) {
10+
int points = questions[i][0];
11+
int jump = questions[i][1];
12+
dp[i] = (points + dp[(jump + i + 1) < n ? (jump + i + 1) : n]) > dp[i + 1] ? (points + dp[(jump + i + 1) < n ? (jump + i + 1) : n]) : dp[i + 1];
13+
}
14+
15+
long long result = dp[0];
16+
free(dp);
17+
return result;
18+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
int countGoodStrings(int low, int high, int zero, int one) {
2+
int mod = 1000000007;
3+
int* dp = (int*)malloc((high + 1) * sizeof(int));
4+
5+
dp[0] = 1;
6+
int res = 0;
7+
8+
for (int i = 1; i <= high; ++i) {
9+
dp[i] = 0;
10+
11+
if (i >= zero) {
12+
dp[i] = (dp[i] + dp[i - zero]) % mod;
13+
}
14+
15+
if (i >= one) {
16+
dp[i] = (dp[i] + dp[i - one]) % mod;
17+
}
18+
19+
if (i >= low) {
20+
res = (res + dp[i]) % mod;
21+
}
22+
}
23+
24+
free(dp);
25+
return res;
26+
}

0 commit comments

Comments
 (0)