Leetcode Java Find the Pivot Integer
업데이트:
문제
코드
class Solution {
public int pivotInteger(int n) {
for (int i = 0, j = n, sum = 0; i < j;) {
if (sum > 0) {
sum -= j--;
} else {
sum += i++;
}
if (sum == 0 && i == j) {
return i;
}
}
return -1;
}
}
결과
설명
- 1부터 x까지, x부터 n까지 합이 동일한 x를 찾는 문제이다.
- x가 존재하지 않으면, -1을 주어진 문제의 결과로 반환한다.
- i와 sum은 0, j는 n으로초기화하여 i가 j 미만일 때 까지 아래를 반복한다.
- sum이 0보다 큰 경우, sum에 j를 빼주고 j를 감소시킨다.
- sum이 0보다 작거나 같은 경우, sum에 i를 더해주고 i를 증가시킨다.
- sum이 0이면서 i와 j가 동일한 경우, i를 주어진 문제의 결과로 반환한다.
- 반복이 완료되면 x가 존재하지 않으므로, -1을 주어진 문제의 결과로 반환한다.
소스
Sample Code는 여기에서 확인 가능합니다.
댓글남기기