[LeetCode] Find Subarrays With Equal Sum

아르당·2026년 9월 4일

LeetCode

목록 보기
508/559
post-thumbnail

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

Problem

인덱스가 0부터 시작하는 정수 배열 nums가 주어지고, 합이 같은 길이가 2인 2개의 부분 배열이 존재하는지 찾아라. 두 부분 배열은 서로 다른 인덱스에서 시작해야 한다.
부분 배열이 존재한다면 true, 그렇지 않다면 false를 반환해라.
부분 배열은 배열에서 연속적이고 비어 있지 않은 요소들의 배열이다.

Example

#1
Input: nums = [4, 2, 4]
Output: true
Explanation: 요소 [4, 2]와 [2, 4]인 부분 배열은 합이 6으로 같다.

#2
Input: nums = [1, 2, 3, 4, 5]
Output: false
Explanation: 합이 같고 길이가 2인 2개의 부분 배열이 없다.

#3
Input: nums = [0, 0, 0]
Output: true

Constraints

  • 2 <= nums.length <= 1000
  • -10^9 <= nums[i] <= 10^9

Solved

class Solution {
    public boolean findSubarrays(int[] nums) {
        Set<Integer> set = new HashSet<>();

        for(int i = 0; i < nums.length - 1; i++){
            int sum = nums[i] + nums[i + 1];

            if(set.contains(sum)){
                return true;
            }

            set.add(sum);
        }

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

0개의 댓글