2024年10月5日 星期六

[4] Median of Two Sorted Arrays

ㄟ......忽略題目要求,暴力法解之 XD

double findMedianSortedArrays(int* nums1, int nums1Size, int* nums2, int nums2Size) {
    int *merged = calloc (nums1Size+nums2Size, sizeof(int));    
    int l=0, r=0;
    for (int i=0; i<nums1Size+nums2Size; i++)
    {
        if (l==nums1Size)
        {
            merged[i]= nums2[r++];
            continue;
        }

        if (r==nums2Size)
        {
            merged[i]= nums1[l++];
            continue;
        }

        if (nums1[l]<nums2[r])
            merged[i]= nums1[l++];
        else
            merged[i]= nums2[r++];
    }
    int mid = (nums1Size+nums2Size)/2;
    double ret = merged[mid]; 
    if ((nums1Size+nums2Size)%2==0)
        ret = (merged[mid-1]+merged[mid])/2.0;
    return ret;
}

沒有留言:

張貼留言