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;

        }

  • 相关阅读:
    【费用流】【CODEVS】1227 方格取数2
    【CODEVS】1034 家园
    【BZOJ】1066: [SCOI2007]蜥蜴
    【最大流】【CODEVS】1993 草地排水
    【HDU】2191 多重背包问题
    【TYVJ】1520 树的直径
    【BZOJ】1984 月下“毛景树”
    【BZOJ】1588: [HNOI2002]营业额统计
    【NOI】2004 郁闷的出纳员
    【POJ】2892 Tunnel Warfare
  • 原文地址:https://www.cnblogs.com/shisw/p/4635986.html
Copyright © 2011-2022 走看看