Median of Two Sorted Arrays -- Leetcode

来源:互联网 发布:linux 复制整行 编辑:程序博客网 时间:2024/05/17 21:37

12.21 2014

There are two sorted arrays A and B 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)).

class Solution {public:    double findMedianSortedArrays(int A[], int m, int B[], int n) {        vector<int> merge;        int i,j,k;        i=j=0;        for(k=0;k<m+n;k++){            if(i<m && j<n){                if(A[i]<=B[j]){                    merge.push_back(A[i]);                    i++;                } else {                    merge.push_back(B[j]);                    j++;                }            }            else if(i==m){                merge.push_back(B[j]);                j++;            }            else if(j==n){                merge.push_back(A[i]);                i++;            }        }        if((m+n)%2==0)            return (merge[(m+n)/2]+merge[(m+n)/2-1])/2.0;        else            return merge[(m+n)/2];    }};

总结:

1. 主要出错在了整数除法的地方

2. 主要先用merge sort变成新vector,使用下标访问找出中位数。

0 0
原创粉丝点击