LeetCode-4_MedianOfTwoSortedArrays-C++

本人博客已经迁移到nasdaqgodzilla.github.io

/*
There are two sorted arrays nums1 and nums2 of size m and n respectively.
Find the median of the two sorted arrays.
The overall run time complexity should be O(log (m+n)).

Example 1:
nums1 = [1, 3]
nums2 = [2]
The median is 2.0

Example 2:
nums1 = [1, 2]
nums2 = [3, 4]
The median is (2 + 3)/2 = 2.5
*/

#include <iostream>
#include <vector>

using namespace std;

class Solution
{
public:
    /*arg1 and arg2 are sorted.*/
    static double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2)
    {
        double ret = 0.0;
        auto nums1Length = nums1.size();
        auto nums2Length = nums2.size();

        double median1 = (nums1Length % 2 != 0) ?
                        nums1[nums1Length / 2] :
                        ((nums1[nums1Length / 2] + nums1[nums1Length / 2 -1])/2.0)
                        ;
        double median2 = (nums2Length % 2 != 0) ?
                        nums2[nums2Length / 2] :
                        ((nums2[nums2Length / 2] + nums2[nums2Length / 2 -1])/2.0)
                        ;

        ret = (median2 + median1) / 2.0;

        return ret;
    }
};

int main()
{
    vector<int> nums1 = {1,2};
    vector<int> nums2 = {3,4};
    auto ret = Solution::findMedianSortedArrays(nums1,nums2);
    cout << ret << endl;

    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值