第四题

#include <algorithm>
using namespace std;
class Solution {
public:
    double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) {
        double res;
        if(nums1.size()==0&&nums2.size()==0)
            return 0;
        if(nums1.size() == 0){
            int size = nums2.size();
            return double((nums2[(size-1)/2] + nums2[size/2]))/2;
        }
        if(nums2.size() == 0){
            int size = nums1.size();
            return double((nums1[(size-1)/2] + nums1[size/2]))/2;
        }
        int i1 = -1, i2 = -1;
        int next = 0, pre = 0;
        int mid = (nums1.size() + nums2.size())/2;
        for(int i = 0; i <= mid; i++){
            if(i1+1 >= nums1.size()){
                i2++;
            }
            else if(i2+1 >= nums2.size()){
                i1++;
            }
            else if(nums1[i1+1] <= nums2[i2+1]){
                i1++;
            }
            else
                i2++;
            if(i == mid-1){
                if(i1 == -1){
                    pre = nums2[i2];
                }
                else if(i2 == -1){
                    pre = nums1[i1];
                }
                else{
                    pre = max(nums1[i1],nums2[i2]);
                }
            }
            if(i == mid){
                if(i1 == -1){
                    next = nums2[i2];
                }
                else if(i2 == -1){
                    next = nums1[i1];
                }
                else{
                    next = max(nums1[i1],nums2[i2]);
                }
            }
        }
        if((nums1.size() + nums2.size())%2 == 0){
            res = double((next + pre))/2;
        }
        else{
            res = next;
        }
        return res;
    }
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 今天来学一下Python之禅和他朋友们的第四题 题目 数列从0和1开始,之后的斐波那契系数由之前的两数相加而得出,...
    Treehl阅读 419评论 0 0
  • 四、尝试分别站在正反两方论述:“有志者事竟成”VS“有志者未必事竟成” 有志者事竟成 王健林说,”先定个小目标,比...
    一筒Yvonne阅读 313评论 0 2
  • 最近从码农变成了 *FC *所谓的FC是Fault Coordinator的简称,是负责管理协调Fault相关的角...
    PMGames阅读 455评论 0 1
  • 2
    景尘阅读 100评论 0 0
  • 安装以及环境配置 ChaiScript安装官网下载似乎不能成功,1M的文件,下载60K的时候就说网络错误,于是翻墙...
    KevinCool阅读 3,629评论 0 1