[LeetCode] Median Of Two Sorted Arrays

KwonSC·2022년 2월 18일
0

LeetCode - Java

목록 보기
4/8
post-thumbnail

https://leetcode.com/problems/median-of-two-sorted-arrays


Code

class Solution {
    public double findMedianSortedArrays(int[] nums1, int[] nums2) {
        double[] nums = new double[nums1.length + nums2.length];
        int i = 0;
        int i1 = 0;
        int i2 = 0;
        while (i1 < nums1.length && i2 < nums2.length) {
            if (nums1[i1] < nums2[i2]) {
                nums[i++] = nums1[i1++];
            }
            else {
                nums[i++] = nums2[i2++];
            }
        }
        for (int j = i1; j < nums1.length; j++) {
            nums[i++] = nums1[j];
        }
        for (int j = i2; j < nums2.length; j++) {
            nums[i++] = nums2[j];
        }
        if ((nums1.length + nums2.length) % 2 != 0) {
            return nums[(nums1.length + nums2.length) / 2];
        }
        else {
            return (nums[(nums1.length + nums2.length) / 2] + nums[(nums1.length + nums2.length) / 2 - 1]) / 2.0;
        }
    }
}

Solution

중앙값은 배열의 길이가 홀수면 중간인덱스값, 짝수면 중간인덱스 2개의 평균을 리턴하면된다. 두개의 배열을 합칠때 직접 구현했지만 다른 내장함수나 라이브러리를 쓰면 더 빠른지 체크해봐야겠다.

0개의 댓글