2018年1月28日 星期日

[4] Median of Two Sorted Arrays (TBC)

兩個sorted array, 取其中位數.
還是array比較清新~
這題是hard難度倒是令人有點意外(?)
該不會我漏掉了什麼重要的東西XD?!

Median of Two Sorted Arrays
double findMedianSortedArrays(int* nums1, int nums1Size, int* nums2, int nums2Size) {
 
    int *sorted = malloc((sizeof(int))*(nums1Size+nums2Size));
    int i,j,k;
    int total = nums1Size+nums2Size;
    for (i=0,j=0,k=0;k<total;k++)
    {
        if(i<nums1Size && j<nums2Size)
            sorted[k] = (nums1[i]<nums2[j])?(nums1[i++]):(nums2[j++]);
        else if (i<nums1Size)
            sorted[k]=nums1[i++];
        else if (j<nums2Size)
            sorted[k]=nums2[j++];
    }

    if ((total)%2 == 0)
        return ((double)(sorted[(total)/2] + sorted[(total)/2-1])/2);
    else
        return (double)sorted[(total)/2];      
}
看看討論區果然搞錯了XD
what is O(log(M+N))  XD
O(M+N)不可以嗎XDDDDDDD
完全囧, 這題之後再回來寫吧 XD

沒有留言:

張貼留言