Median of Two Sorted Arrays LeetCode solution in C++

1
class Solution {
2
public:
3
// Merging two arrays :-
4
vector<int> mergeSortedArrays(vector<int> &arr1, vector<int> &arr2) {
5
int n = arr1.size();
6
int m = arr2.size();
7
vector<int> ans(m + n);
8
int i = 0;
9
int j = 0;
10
int mainIndex = 0;
11

12
while (i < n && j < m) {
13
if (arr1[i] <= arr2[j])
14
ans[mainIndex++] = arr1[i++];
15
else
16
ans[mainIndex++] = arr2[j++];
17
}
18

19
while (i < n) {
20
ans[mainIndex++] = arr1[i++];
21
}
22

23
while (j < m) {
24
ans[mainIndex++] = arr2[j++];
25
}
26
return ans;
27
}
28
double findMedianSortedArrays(vector<int> &nums1, vector<int> &nums2) {
29
vector<int> ans = mergeSortedArrays(nums1, nums2);
30
float median = 0;
31
int n = ans.size() - 1;
32

33
if (n % 2 != 0)
34
median = (ans[n / 2] + ans[(n / 2) + 1]) / 2.0;
35
else
36
median = ans[n / 2];
37
return median;
38
}
39
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0