[leetcode] 724. Find Pivot Index

반응형

문제


풀이

왼쪽 값들의 합과 오른쪽 값들의 합이 일치하는 pivot 인덱스를 찾는 문제이다.찾지 못하면 -1를 반환하면 된다.전체 값의 합을 구한 다음, 해당 값을 이용해서 오른쪽 값들의 합을 구하면 된다.

 

오른 쪽 값들의 합 = 전체 값의 합 - pivot - 왼쪽 값들의 합

 

참고로 Java Stream API 를 이용해서 Array의 sum 값을 구할 수 있다.

Arrays.stream(array).sum();

코드

class Solution {
    public int pivotIndex(int[] nums) {
        var total = Arrays.stream(nums).sum();
        var leftSum = 0;

        for(int i=0; i<nums.length; i++){
            var rightSum = total - nums[i] - leftSum;

            if(leftSum == rightSum){
                return i;
            }
            leftSum += nums[i];
        }
        return -1;
    }
}

 

 

 


참고