https://leetcode.com/problems/median-of-two-sorted-arrays
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;
}
}
}
중앙값은 배열의 길이가 홀수면 중간인덱스값, 짝수면 중간인덱스 2개의 평균을 리턴하면된다. 두개의 배열을 합칠때 직접 구현했지만 다른 내장함수나 라이브러리를 쓰면 더 빠른지 체크해봐야겠다.