We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 2beab03 commit 3960962Copy full SHA for 3960962
cpp/441-450/Arithmetic Slices II - Subsequence.cpp
@@ -0,0 +1,24 @@
1
+class Solution {
2
+public:
3
+ int numberOfArithmeticSlices(vector<int>& A) {
4
+ int n = A.size();
5
+ vector<map<int, int>> dp(n);
6
+ int ans = 0;
7
+
8
+ for (int i = 0; i < n; i++) {
9
+ // dp[x][delta] += dp[y][delta] + 1(y∈[0, x - 1])
10
+ for (int j = 0; j < i; j++) {
11
+ long delta = (long)A[i] - (long)A[j];
12
+ if (delta > INT_MAX || delta < INT_MIN) continue;
13
+ dp[i][delta]++;
14
+ if (dp[j].find(delta) != dp[j].end()) {
15
+ dp[i][delta] += dp[j][delta];
16
+ ans += dp[j][delta];
17
+ }
18
19
20
21
22
+ return ans;
23
24
+};
0 commit comments