首页 > 代码库 > LeetCode Median of Two Sorted Arrays

LeetCode Median of Two Sorted Arrays

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)).

 

 1 public class Solution { 2     public double findMedianSortedArrays(int A[], int B[]) { 3         int la=A.length; 4         int lb=B.length; 5         int l=la+lb; 6         int ia=0,ib=0; 7         ArrayList<Integer> list = new ArrayList<Integer>(); 8         for (int i = 0; i < l; i++) { 9             if (ia < la && ib < lb) {10                 if (A[ia] < B[ib]) {11                     list.add(A[ia]);12                     ++ia;13                 } else {14                     list.add(B[ib]);15                     ++ib;16                 }17             }else if (ia >= la && ib < lb) {18                 list.add(B[ib]);19                 ++ib;20             }else if (ia < la && ib >= lb) {21                 list.add(A[ia]);22                 ++ia;23             }24 25             if (list.size() == l / 2 + 1) {26                 if (l % 2 == 1) {27                     return list.get(list.size() - 1);28                 } else {29                     double last1 = list.get(list.size() - 1);30                     double last2 = list.get(list.size() - 2);31                     return (last1 + last2) / 2;32                 }33             }34             35             36         } 37 38         return 0;39 40     }41 }

 

LeetCode Median of Two Sorted Arrays