美文网首页
LeetCode第4题: findMedianSortedArr

LeetCode第4题: findMedianSortedArr

作者: 闫品品 | 来源:发表于2019-05-24 21:19 被阅读0次

    上一题:LeetCode第3题:lengthOfLongestSubstring(C语言)

    思路:利用归并排序的思想,将两个数组合并为一个有序的数组,求中位数即可。

    double findMedianSortedArrays(int* nums1, int nums1Size, int* nums2, int nums2Size) {
        int total_count = nums1Size + nums2Size;
        int sorted_nums[total_count];
        int i = 0, j = 0, k = 0;
        while((i < nums1Size) && (j < nums2Size)){
            if(nums1[i] < nums2[j]){
                sorted_nums[k] = nums1[i];
                i++;
                k++;
            }
            else{
                sorted_nums[k] = nums2[j];
                j++;
                k++;
            }
        }
        while(i < nums1Size){
            sorted_nums[k++] = nums1[i++];
        }
        while(j < nums2Size){
            sorted_nums[k++] = nums2[j++];
        }
            
        if(total_count % 2 == 1){
            return sorted_nums[(total_count - 1) / 2];
        }
    
        double first = sorted_nums[(total_count - 1) / 2];
        first = (first + sorted_nums[total_count / 2]) / 2;
        return first;
    }
    

    本系列文章,旨在打造LeetCode题目解题方法,帮助和引导同学们开阔学习算法思路,由于个人能力和精力的局限性,也会参考其他网站的代码和思路,如有侵权,请联系本人删除。
    下一题:LeetCode第5题:longestPalindrome(C语言)

    相关文章

      网友评论

          本文标题:LeetCode第4题: findMedianSortedArr

          本文链接:https://www.haomeiwen.com/subject/nyxozqtx.html