본문 바로가기

Problem Solving/리트코드

[LeetCode] Arithmetic SlicesSolution

내가 짠 코드

class Solution {
public:
    int numberOfArithmeticSlices(vector<int>& A) {
        if(A.size()<3) return 0;
        int ans = 0;
        int i,diff=A[1]-A[0],j,count=2;
        
        for(i=1;i<=A.size()-2;i++){
            if(A[i+1]-A[i]!=diff || i==A.size()-2){
                if(A[i+1]-A[i] ==diff) count ++;
                for(j=3;j<=count;j++){
                    ans += count+1-j;
                }
                count = 2;
                diff = A[i+1] - A[i];
            }
            else count ++;
        }

        return ans;

    }
};

leetcode.com/explore/challenge/card/february-leetcoding-challenge-2021/586/week-3-february-15th-february-21st/3644/