跳到主要内容

413.等差数列划分

链接:413.等差数列划分
难度:Medium
标签:数组、动态规划
简介:给你一个整数数组 nums ,返回数组 nums 中所有为等差数组的 子数组 个数。

题解 1 - typescript

  • 编辑时间:2021-08-10
  • 执行用时:84ms
  • 内存消耗:39.2MB
  • 编程语言:typescript
  • 解法介绍:动态规划。
function numberOfArithmeticSlices(nums: number[]): number {
const n = nums.length;
const dp = new Array(n).fill(0);
let ans = 0;
for (let i = 2; i < n; i++) {
if (nums[i] - nums[i - 1] === nums[i - 1] - nums[i - 2]) ans += dp[i] = dp[i - 1] + 1;
}
return ans;
}