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;
    }
};
相关推荐
zhczzm2 小时前
深入浅出之STL源码分析2_stl与标准库,编译器的关系
c++
Darkwanderor4 小时前
c++STL-string的模拟实现
c++·string
南风与鱼4 小时前
【数据结构】红黑树(C++)
c++·红黑树
李匠20244 小时前
C++GO语言微服务和服务发现②
开发语言·c++·golang·服务发现
虾球xz5 小时前
游戏引擎学习第271天:生成可行走的点
c++·学习·游戏引擎
qq_433554545 小时前
C++ STL编程 vector空间预留、vector高效删除、vector数据排序、vector代码练习
开发语言·c++
XiaoCCCcCCccCcccC5 小时前
Linux网络基础 -- 局域网,广域网,网络协议,网络传输的基本流程,端口号,网络字节序
linux·c语言·网络·c++·网络协议
_Itachi__6 小时前
LeetCode 热题 100 543. 二叉树的直径
java·算法·leetcode
菜狗想要变强6 小时前
C++ STL入门:vecto容器
开发语言·c++
五花肉村长6 小时前
Linux-Ext系列文件系统
linux·运维·服务器·c++·笔记·visual studio