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;
    }
};
相关推荐
_不会dp不改名_38 分钟前
leetcode_42 接雨水
算法·leetcode·职场和发展
野生的编程萌新1 小时前
从冒泡到快速排序:探索经典排序算法的奥秘(二)
c语言·开发语言·数据结构·c++·算法·排序算法
weixin_307779132 小时前
VS Code配置MinGW64编译backward库
开发语言·c++·vscode·算法
Crazy_eater2 小时前
C++继承(1)
c++
破刺不会编程4 小时前
socket编程UDP
linux·运维·服务器·网络·c++·网络协议·udp
code小毛孩4 小时前
leetcode hot100数组:缺失的第一个正数
数据结构·算法·leetcode
HalvmånEver7 小时前
在 C++ :x86(32 位)和 x64(64 位)的不同
开发语言·c++·学习
浪成电火花10 小时前
(deepseek!)deepspeed中C++关联部分
开发语言·c++
愿天堂没有C++12 小时前
剑指offer第2版——面试题4:二维数组中的查找
c++·面试
快去睡觉~14 小时前
力扣400:第N位数字
数据结构·算法·leetcode