第四題

#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閱讀 411評論 0 0
  • 四、嘗試分別站在正反兩方論述:“有志者事竟成”VS“有志者未必事竟成” 有志者事竟成 王健林說,”先定個小目標,比...
    一筒Yvonne閱讀 298評論 0 2
  • 最近從碼農變成了 *FC *所謂的FC是Fault Coordinator的簡稱,是負責管理協調Fault相關的角...
    PMGames閱讀 432評論 0 1
  • 2
    景塵閱讀 100評論 0 0
  • 安裝以及環境配置 ChaiScript安裝官網下載似乎不能成功,1M的文件,下載60K的時候就說網絡錯誤,于是翻墻...
    KevinCool閱讀 3,504評論 0 1