C++ | Leetcode C++题解之第446题等差数列划分II-子序列

题目:

题解:

cpp 复制代码
class Solution {
public:
    int numberOfArithmeticSlices(vector<int> &nums) {
        int ans = 0;
        int n = nums.size();
        vector<unordered_map<long long, int>> f(n);
        for (int i = 0; i < n; ++i) {
            for (int j = 0; j < i; ++j) {
                long long d = 1LL * nums[i] - nums[j];
                auto it = f[j].find(d);
                int cnt = it == f[j].end() ? 0 : it->second;
                ans += cnt;
                f[i][d] += cnt + 1;
            }
        }
        return ans;
    }
};
相关推荐
緈福的街口5 小时前
【leetcode】347. 前k个高频元素
算法·leetcode·职场和发展
南郁6 小时前
007-nlohmann/json 项目应用-C++开源库108杰
c++·开源·json·nlohmann·现代c++·d2school·108杰
菠萝017 小时前
共识算法Raft系列(1)——什么是Raft?
c++·后端·算法·区块链·共识算法
海棠蚀omo7 小时前
C++笔记-C++11(一)
开发语言·c++·笔记
凌佚8 小时前
rknn优化教程(一)
c++·目标检测·性能优化
小河豚oO10 小时前
LeetCode刷题---贪心算法---944
算法·leetcode·贪心算法
Lenyiin10 小时前
《 C++ 点滴漫谈: 四十 》文本的艺术:C++ 正则表达式的高效应用之道
c++·正则表达式·lenyiin
Once_day10 小时前
代码训练LeetCode(23)随机访问元素
算法·leetcode
小河豚oO11 小时前
LeetCode 热题 100 - 哈希 - 128
算法·leetcode·哈希算法
客卿12311 小时前
力扣100题之128. 最长连续序列
算法·leetcode·哈希算法