diff --git a/java/[MedianOfRunningStream]_.java b/java/[MedianOfRunningStream]_.java new file mode 100644 index 0000000..e2509ca --- /dev/null +++ b/java/[MedianOfRunningStream]_.java @@ -0,0 +1,67 @@ +import java.util.Collections; +import java.util.PriorityQueue; + +public class medianofstream { + + public static void main(String[] args) { + int[] arr= { 5,7,10,15}; + + PriorityQueue minheap= new PriorityQueue<>(); + PriorityQueue maxheap= new PriorityQueue<>(Collections.reverseOrder()); + + + double med= arr[0]; + maxheap.add(arr[0]); + System.out.println(med); + for(int i=1;imed) + { + minheap.add(x); + med= (double)(minheap.peek()); + + + }else { + maxheap.add(x); + med= (double)(maxheap.peek()); + + } + + }else { + + if(x>med) { + + maxheap.add(minheap.remove()); + minheap.add(x); + } + else { + maxheap.add(x); + } + + med= (double) (maxheap.peek()+ minheap.peek())/2; + + } + System.out.println(med); + + + + } + + } + +}