[LeetCode] Number of Arithmetic Triplets

아르당·2026년 9월 2일

LeetCode

목록 보기
503/563
post-thumbnail

문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음

Problem

인덱스가 0부터 시작하고 엄격하게 증가하는 정수 배열 nums와 양의 정수 diff가 주어진다. triplet (i, j, k)는 다음 조건을 만족하면 산술적 triplet이라고 한다.

  • i < j < k
  • nums[j] - nums[i] == diff
  • nums[k] - nums[j] == diff

고유한 산술적 triplets의 개수를 반환해라.

Example

#1
Input: nums = [0, 1, 4, 6, 7, 10], diff = 3
Output: 2

#2
Input: nums = [4, 5, 6, 7, 8, 9], diff = 2
Output: 2

Constraints

  • 3 <= nums.length <= 200
  • 0 <= nums[i] <= 200
  • 1 <= diff <= 50
  • nums는 엄격하게 증가한다.

Solved

class Solution {
    public int arithmeticTriplets(int[] nums, int diff) {
        Set<Integer> set = new HashSet<>();

        for(int num : nums){
            set.add(num);
        }

        int count = 0;

        for(int num : nums){
            if(set.contains(num - diff) && set.contains(num + diff)){
                count++;
            }
        }

        return count;
    }
}
profile
내 마음대로 코드 작성하는 세상

0개의 댓글