Median of Two Sorted Arrays

Description

There 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

Solution

 `````` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 `````` ``````func findMedianSortedArrays(nums1 []int, nums2 []int) float64 { totalLen := len(nums1) + len(nums2) var p1, p2, index1, index2, sum int index1 = int((totalLen - 1) / 2) index2 = int(totalLen / 2) for i := 0; i < totalLen; i++ { if i > index2 { break } var num int if p1 < len(nums1) && p2 < len(nums2) { if nums1[p1] < nums2[p2] { num = nums1[p1] p1++ } else { num = nums2[p2] p2++ } } else if p1 < len(nums1) { num = nums1[p1] p1++ } else { num = nums2[p2] p2++ } if i == index1 { sum += num } if i == index2 { sum += num } } return float64(sum) / 2.0 }``````