求连续子数组中为等差数组的个数:设table[i]为以包含i位置元素为末端点的数组中的等差数组个数
int numberOfArithmeticSlices(vector<int>& A) {
int res=0;
vector<int> table(A.size());
for(int i=2;i<A.size();i++)
{
if(A[i-2]-A[i-1]==A[i-1]-A[i])
table[i] = 1 + table[i-1];
res += table[i];
}
return res;
}
本文介绍了一种高效算法,用于计算给定整数数组中所有连续子数组为等差序列的数量。通过维护一个动态表格,该算法可以快速确定每个元素作为等差子数组结尾时的贡献。

1246

被折叠的 条评论
为什么被折叠?



