Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution(object):
- def numberOfArithmeticSlices(self, A):
- """
- :type A: List[int]
- :rtype: int
- """
- if len(A) < 3:
- return 0
- slices = 0
- pairwise_diffs = [A[i] - A[i-1] for i in xrange(1, len(A))]
- for _, g in itertools.groupby(pairwise_diffs):
- len_group = len(list(g))
- slices += self.slicesOfLen(len_group) if len_group > 1 else 0
- return slices
- def slicesOfLen(self, n):
- # Number of slices of length n is a triangular number
- return (n*n - n) / 2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement