# Solving Leetcode Interviews in Seconds with AI: Arithmetic Slices


	# Introduction
	In this blog post, we will explore how to solve the LeetCode problem "413" using AI. LeetCode is a popular platform for preparing for coding interviews, and with the help of AI tools like [Chatmagic](https://www.chatmagic.app), we can generate solutions quickly and efficiently - helping you pass the interviews and get the job offer without having to study for months.

	# Problem Statement
	> 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    Constraints:  1 <= nums.length <= 5000 -1000 <= nums[i] <= 1000  

	# Explanation
	Here's an efficient solution to count arithmetic subarrays:

*   **Dynamic Programming:** We'll use dynamic programming to efficiently count arithmetic subarrays. We maintain a variable to store the count of arithmetic subarrays ending at the current index, reusing the previous count when the current element extends an existing arithmetic sequence.
*   **Iterative Approach:** Iterate through the array, checking if the current element extends an existing arithmetic sequence. If it does, increment the count of arithmetic subarrays.

*   **Runtime Complexity:** O(n), **Storage Complexity:** O(1)

	
	# Code
	```python
	def numberOfArithmeticSlices(nums):
    n = len(nums)
    if n < 3:
        return 0

    count = 0
    dp = 0  # dp[i] stores the number of arithmetic slices ending at index i

    for i in range(2, n):
        if nums[i] - nums[i - 1] == nums[i - 1] - nums[i - 2]:
            dp = dp + 1
            count = count + dp
        else:
            dp = 0  # Reset if the current element doesn't extend the sequence

    return count
	```
			
