From c3cd1060ec99e877b55e030d110c4215dcc33af9 Mon Sep 17 00:00:00 2001 From: nakhlarafi Date: Tue, 27 Jul 2021 14:50:05 +0600 Subject: [PATCH 1/4] solution added --- .../4_MedianofTwoSortedArrays/Solution.java | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Algorithms/Hard/4_MedianofTwoSortedArrays/Solution.java diff --git a/Algorithms/Hard/4_MedianofTwoSortedArrays/Solution.java b/Algorithms/Hard/4_MedianofTwoSortedArrays/Solution.java new file mode 100644 index 0000000..2a6eb09 --- /dev/null +++ b/Algorithms/Hard/4_MedianofTwoSortedArrays/Solution.java @@ -0,0 +1,40 @@ +class Solution { + public double findMedianSortedArrays(int[] nums1, int[] nums2) { + double median = 0.0; + int n1 = nums1.length; + int n2 = nums2.length; + int arr[] = new int[n1+n2]; + int i = 0, j = 0; + int k = 0; + while (i < n1 && j < n2) { + if (nums1[i] <= nums2[j]) { + arr[k] = nums1[i]; + i++; + } + else { + arr[k] = nums2[j]; + j++; + } + k++; + } + while (i < n1) { + arr[k] = nums1[i]; + i++; + k++; + } + + while (j < n2) { + arr[k] = nums2[j]; + j++; + k++; + } + + if(arr.length%2 == 0){ + median = (arr[(arr.length/2)-1] + arr[arr.length/2]) / 2.0; + } + else{ + median = (arr[arr.length/2]) / 1.0; + } + return median; + } +} \ No newline at end of file From e077f10d73358179e1483310dce9245000a0b3f6 Mon Sep 17 00:00:00 2001 From: nakhlarafi Date: Tue, 27 Jul 2021 16:38:25 +0600 Subject: [PATCH 2/4] solution modified --- Algorithms/Hard/4_MedianofTwoSortedArrays/Solution.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Algorithms/Hard/4_MedianofTwoSortedArrays/Solution.java b/Algorithms/Hard/4_MedianofTwoSortedArrays/Solution.java index 2a6eb09..2ceb718 100644 --- a/Algorithms/Hard/4_MedianofTwoSortedArrays/Solution.java +++ b/Algorithms/Hard/4_MedianofTwoSortedArrays/Solution.java @@ -3,7 +3,7 @@ public double findMedianSortedArrays(int[] nums1, int[] nums2) { double median = 0.0; int n1 = nums1.length; int n2 = nums2.length; - int arr[] = new int[n1+n2]; + int arr[] = new int[n1 + n2]; int i = 0, j = 0; int k = 0; while (i < n1 && j < n2) { @@ -29,11 +29,11 @@ public double findMedianSortedArrays(int[] nums1, int[] nums2) { k++; } - if(arr.length%2 == 0){ - median = (arr[(arr.length/2)-1] + arr[arr.length/2]) / 2.0; + if(arr.length % 2 == 0){ + median = (arr[(arr.length / 2) - 1] + arr[arr.length / 2]) / 2.0; } else{ - median = (arr[arr.length/2]) / 1.0; + median = (arr[arr.length / 2]) / 1.0; } return median; } From 24936fccf1e74022d38dc3d1ce102cb2fd1f8c7e Mon Sep 17 00:00:00 2001 From: nakhlarafi Date: Thu, 29 Jul 2021 21:16:46 +0600 Subject: [PATCH 3/4] changes added --- .../4_MedianofTwoSortedArrays/Solution.java | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/Algorithms/Hard/4_MedianofTwoSortedArrays/Solution.java b/Algorithms/Hard/4_MedianofTwoSortedArrays/Solution.java index 2ceb718..aadde6b 100644 --- a/Algorithms/Hard/4_MedianofTwoSortedArrays/Solution.java +++ b/Algorithms/Hard/4_MedianofTwoSortedArrays/Solution.java @@ -1,39 +1,40 @@ class Solution { public double findMedianSortedArrays(int[] nums1, int[] nums2) { double median = 0.0; - int n1 = nums1.length; - int n2 = nums2.length; - int arr[] = new int[n1 + n2]; - int i = 0, j = 0; - int k = 0; - while (i < n1 && j < n2) { + int m = nums1.length; + int n = nums2.length; + int combinedArr[] = new int[m+n]; + int i = 0, j = 0, k = 0; + + while (i < m && j < n) { if (nums1[i] <= nums2[j]) { - arr[k] = nums1[i]; + combinedArr[k] = nums1[i]; i++; } else { - arr[k] = nums2[j]; + combinedArr[k] = nums2[j]; j++; } k++; } - while (i < n1) { - arr[k] = nums1[i]; + + while (i < m) { + combinedArr[k] = nums1[i]; i++; k++; } - while (j < n2) { - arr[k] = nums2[j]; + while (j < n) { + combinedArr[k] = nums2[j]; j++; k++; } - - if(arr.length % 2 == 0){ - median = (arr[(arr.length / 2) - 1] + arr[arr.length / 2]) / 2.0; + + if(combinedArr.length%2 == 0){ + median = (combinedArr[(combinedArr.length/2)-1] + combinedArr[combinedArr.length/2]) / 2.0; } else{ - median = (arr[arr.length / 2]) / 1.0; + median = (combinedArr[combinedArr.length/2]) / 1.0; } return median; } From 814ecad396013c6373dd439b2a34299d94450fe4 Mon Sep 17 00:00:00 2001 From: nakhlarafi Date: Thu, 29 Jul 2021 23:33:18 +0600 Subject: [PATCH 4/4] some more changes --- Algorithms/Hard/4_MedianofTwoSortedArrays/Solution.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Algorithms/Hard/4_MedianofTwoSortedArrays/Solution.java b/Algorithms/Hard/4_MedianofTwoSortedArrays/Solution.java index aadde6b..b861296 100644 --- a/Algorithms/Hard/4_MedianofTwoSortedArrays/Solution.java +++ b/Algorithms/Hard/4_MedianofTwoSortedArrays/Solution.java @@ -30,11 +30,11 @@ public double findMedianSortedArrays(int[] nums1, int[] nums2) { k++; } - if(combinedArr.length%2 == 0){ - median = (combinedArr[(combinedArr.length/2)-1] + combinedArr[combinedArr.length/2]) / 2.0; + if(combinedArr.length % 2 == 0){ + median = (combinedArr[(combinedArr.length/2) - 1] + combinedArr[combinedArr.length/2]) / 2.0; } else{ - median = (combinedArr[combinedArr.length/2]) / 1.0; + median = (combinedArr[combinedArr.length / 2]) / 1.0; } return median; }