Leetcode Java Largest Positive Integer That Exists With Its Negative

업데이트:

문제

Link

코드

class Solution {

  public int findMaxK(int[] nums) {
    Arrays.sort(nums);
    for (int i = nums.length - 1; i >= 0; i--) {
      if (nums[i] > 0 && Arrays.binarySearch(nums, -nums[i]) >= 0) {
        return nums[i];
      }
    }
    return -1;
  }

}

결과

Link

설명

  1. nums 내 음수 부호를 제거한 값의 절댓값이 동일한 값을 찾아 양수로 반환하는 문제이다.
    • 단, 값을 찾을 수 없으면 -1을 주어진 문제의 결과로 반환한다.
  2. nums를 오름차순 정렬한다.

  3. nums의 길이보다 1 작은 값부터 0 이상까지 i를 감소시키며 거꾸로 탐색을 수행한다.
    • nums[i]의 값이 0보다 크면서 nums 내 nums[i]의 음수 값이 존재하는 경우, nums[i]의 값을 주어진 문제의 결과로 반환한다.
  4. 반복이 완료되면 조건을 만족하는 값을 찾을 수 없으므로, -1을 주어진 문제의 결과로 반환한다.

소스

Sample Code는 여기에서 확인 가능합니다.

댓글남기기