### View *Number of Arithmetic Triplets* on LeetCode

## Statistics

**Time Complexity**

O(n) - Every number in the input list is iterated over, resulting in the O(n) time complexity.

**Space Complexity**

O(n) - Every number in the input list is duplicated and stored in a set, resulting in the O(n) space complexity.

**Runtime Beats**

83.12% of other submissions

**Memory Beats**

61.69% of other sumbissions

## Explanation

Before iterating through the input list, create a variable to track every triplet, and to reduce time complexity, convert the input list into a set.

Begin iterating over each number `n`

in nums, and check if `n - diff and n - diff*2`

are in the set:

- If true,
`n`

has a triplet - If false, continue to the following number

*All triplets follow the if statements logic*

Once the for loop is complete, `return num_triplets`

## Data Structure Used

**Hash Table (Set) -** An unordered container of non-repeating values.

**Visual Examples**

An array being transformed into a set, click to view

## Solution

1
2
3
4
5
6
7
8
9

class Solution:
def arithmeticTriplets(self, nums: List[int], diff: int) -> int:
seen = set(nums)
num_triplets = 0
for n in nums:
if n - diff in seen and n - diff*2 in seen:
num_triplets +=1
return num_triplets