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