leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE |
0446.cpp (524B)
0 class Solution {
1 public:
2 int numberOfArithmeticSlices(const vector<int> &nums) const {
3 vector<unordered_map<long long, int>> dp(size(nums));
4 int res = 0;
5 for (int i = 1; i < size(nums); i++) {
6 for (int j = 0; j < i; j++) {
7 const long long diff = (long long)nums[i] - nums[j];
8 const int cnt = dp[j].count(diff) ? dp[j][diff] : 0;
9 dp[i][diff] += cnt + 1;
10 res += cnt;
11 }
12 }
13 return res;
14 }
15 };