Leetcode Java Minimum Common Value

업데이트:

문제

Link

코드

class Solution {

  public int getCommon(int[] nums1, int[] nums2) {
    for (int i = 0, j = 0; i < nums1.length && j < nums2.length;) {
      if (nums1[i] == nums2[j]) {
        return nums1[i];
      } else if (nums1[i] < nums2[j]) {
        i++;
      } else {
        j++;
      }
    }
    return -1;
  }

}

결과

Link

설명

  1. 오름차순으로 정렬된 nums1과 nums2 배열에 공통적으로 존재하는 값들 중 가장 작은 값을 반환하는 문제이다.
    • 단, 공통적으로 존재하는 값이 없는 경우 -1을 주어진 문제의 결과로 반환한다.
  2. i와 j를 0으로 초기화하여 nums1과 nums2의 길이 미만일 때까지 아래를 반복한다.
    • nums1[i]의 값이 nums2[j]의 값과 동일한 경우, 해당 값을 주어진 문제의 결과로 반환한다.
    • nums1[i]의 값이 nums2[j]의 값보다 작은 경우, i를 증가시키고 그 반대의 경우 j를 증가시킨다.
  3. 반복이 완료되면 공통적으로 존재하는 값이 없다는 의미이므로, -1을 주어진 문제의 결과로 반환한다.

소스

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

댓글남기기