4 Median Of Two Sorted Arrays
4 Median Of Two Sorted Arrays
Median of Two Sorted Arrays 
Given two sorted arrays nums1 and nums2 of size m and n respectively, return the median of the two sorted arrays.
The overall run time complexity should be O(log (m+n)).
Example 1:
1
2
3
4
5
**Input:** nums1 = [1,3], nums2 = [2]
**Output:** 2.00000
**Explanation:** merged array = [1,2,3] and median is 2.
Example 2:
1
2
3
4
5
**Input:** nums1 = [1,2], nums2 = [3,4]
**Output:** 2.50000
**Explanation:** merged array = [1,2,3,4] and median is (2 + 3) / 2 = 2.5.
Constraints:
1
2
3
4
5
6
nums1.length == m
nums2.length == n
0 <= m <= 1000
0 <= n <= 1000
1 <= m + n <= 2000
-106 <= nums1[i], nums2[i] <= 106
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
40
41
42
class Solution:
def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float:
i = 0
j = 0
newarr = [None] * (len(nums1) + len(nums2))
t = 0
while t < len(newarr):
if i < len(nums1) and j < len(nums2) and nums1[i] < nums2[j]:
newarr[t] = nums1[i]
t = t + 1
i = i + 1
elif j < len(nums2) and i < len(nums1) and nums1[i] > nums2[j]:
newarr[t] = nums2[j]
t = t + 1
j = j + 1
elif j < len(nums2):
newarr[t] = nums2[j]
t = t + 1
j = j + 1
elif i < len(nums1):
newarr[t] = nums1[i]
t = t + 1
i = i + 1
print(newarr)
if len(newarr) % 2 == 1:
return newarr[int(len(newarr)/2)]
else:
a = ceil((len(newarr)-1)/2)
b = floor((len(newarr)-1)/2)
return (newarr[a] + newarr[b])/2
return 0.0
This post is licensed under CC BY 4.0 by the author.