Skip to content

Commit e9655e1

Browse files
author
harshbhardwaj
committed
Median Number
1 parent 7bd6931 commit e9655e1

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
package com.practise;
2+
3+
public class MedianNumber {
4+
5+
public static double getMedian(int[] num1, int[] num2){
6+
int len = Math.max(num1.length, num2.length);
7+
int[] arr = new int[num1.length + num2.length];
8+
for(int i = 0; i < len; i++){
9+
int lastIndex = i*2 - 1;
10+
int r = num1[i];
11+
int p = num2[i];
12+
if(i==0){
13+
if(r > p){
14+
arr[i] = p;
15+
arr[i+1] = r;
16+
}else {
17+
arr[i] = r;
18+
arr[i+1] = p;
19+
}
20+
}else {
21+
if(r > p){
22+
if(arr[lastIndex] > p){
23+
int temp = arr[lastIndex];
24+
arr[lastIndex] = p;
25+
arr[i] = temp;
26+
arr[i+1] = r;
27+
}else {
28+
arr[i] = p;
29+
arr[i+1] = r;
30+
}
31+
}else {
32+
if(arr[lastIndex] > r){
33+
int temp = arr[lastIndex];
34+
arr[lastIndex] = r;
35+
arr[i] = temp;
36+
arr[i+1] = p;
37+
}else {
38+
arr[i] = r;
39+
arr[i+1] = p;
40+
}
41+
}
42+
}
43+
}
44+
45+
46+
return arr.length%2==0? (arr[arr.length/2] + arr[arr.length/2-1])/2 : arr[(arr.length -1)/2];
47+
}
48+
49+
public static void main(String[] args) {
50+
MedianNumber.getMedian(new int[] {4,7,8}, new int[]{1,3});
51+
}
52+
}

0 commit comments

Comments
 (0)