ID | Title | Difficulty | |
---|---|---|---|
Loading... |
413. Arithmetic Slices
Medium
LeetCode
Array, Dynamic Programming
Problem
An integer array is called arithmetic if it consists of at least three elements and if the difference between any two consecutive elements is the same.
For example, [1,3,5,7,9], [7,7,7,7], and [3,-1,-5,-9] are arithmetic sequences. Given an integer array nums, return the number of arithmetic subarrays of nums.
A subarray is a contiguous subsequence of the array.
Example 1:
Input: nums = [1,2,3,4]
Output: 3
Explanation: We have 3 arithmetic slices in nums: [1, 2, 3], [2, 3, 4] and [1,2,3,4] itself.
Example 2:
Input: nums = [1]
Output: 0
Code
class Solution {
public int numberOfArithmeticSlices(int[] nums) {
if(nums.length <= 2) return 0;
int[] dp = new int[nums.length];
int res = 0;
for(int i = 2; i < nums.length; i++) {
if(nums[i] - nums[i - 1] == nums[i - 1] - nums[i - 2]) {
dp[i] = dp[i - 1] + 1; // dp = 1 + dp;
res += dp[i]; // res += dp
}
}
return res;
}
}
按 <- 键看上一题!
412. Fizz Buzz
按 -> 键看下一题!
414. Third Maximum Number