zoukankan      html  css  js  c++  java
  • 4:Median of Two Sorted Arrays

    here 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

    答案:

    public double findMedianSortedArrays(int[] nums1, int[] nums2) {

    int len1 = nums1.length,len2 = nums2.length;

     

    int len = len1 + len2;

    int mod = len%2;

     

    int start = 0;

    int middle = len/2;

    int temp = 0;

     

    int index1 = 0,index2 = 0;

     

    while(index1<len1 || index2 < len2){

    if(index2 == len2 || (index1 < len1 && nums1[index1]<=nums2[index2])){

    if(mod==1){

    if(start == middle){

    return nums1[index1];

    }

    }else{

    if(start == middle - 1){

    temp = nums1[index1];

    }

    if(start == middle){

    return ((double)temp + (double)nums1[index1])/2;

    }

    }

    index1++;

    }else if(index1 == len1 || (index2 < len2 && nums1[index1]>nums2[index2])){

    if(mod==1){

    if(start == middle){

    return nums2[index2];

    }

    }else{

    if(start == middle - 1){

    temp = nums2[index2];

    }

    if(start == middle){

    return ((double)temp + (double)nums2[index2])/2;

    }

    }

    index2++;

    }

    start ++;

    }

     

            return 0.0;

        }

  • 相关阅读:
    HDU 5313 bitset优化背包
    bzoj 2595 斯坦纳树
    COJ 1287 求匹配串在模式串中出现的次数
    HDU 5381 The sum of gcd
    POJ 1739
    HDU 3377 插头dp
    HDU 1693 二进制表示的简单插头dp
    HDU 5353
    URAL 1519 基础插头DP
    UVA 10294 等价类计数
  • 原文地址:https://www.cnblogs.com/shisw/p/4635986.html
Copyright © 2011-2022 走看看