-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathProblem 4 Median of Two Sorted Arrays
37 lines (35 loc) · 1.32 KB
/
Problem 4 Median of Two Sorted Arrays
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
class Solution {
public double findMedianSortedArrays(int[] nums1, int[] nums2) {
int num1Pointer=0,num2Pointer=0,fullArrayPointer=0;
int fullArray[] = new int[nums1.length+nums2.length];
while(num1Pointer<nums1.length && num2Pointer<nums2.length){
if(nums1[num1Pointer]>nums2[num2Pointer]){
fullArray[fullArrayPointer]=nums2[num2Pointer];
num2Pointer++;
}
else{
fullArray[fullArrayPointer]=nums1[num1Pointer];
num1Pointer++;
}
fullArrayPointer++;
}
if(num1Pointer==nums1.length && num2Pointer<nums2.length){
for(int l=num2Pointer;l<nums2.length;l++){
fullArray[fullArrayPointer]=nums2[l];
fullArrayPointer++;
}
}
if(num2Pointer==nums2.length && num1Pointer<nums1.length){
for(int l=num1Pointer;l<nums1.length;l++){
fullArray[fullArrayPointer]=nums1[l];
fullArrayPointer++;
}
}
if((nums2.length+nums1.length)%2==0){
return (double) (fullArray[(nums1.length+nums2.length)/2]+fullArray[((nums1.length+nums2.length)/2)-1])/2;
}
else{
return (double) fullArray[(nums1.length+nums2.length)/2];
}
}
}