Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class MedianFinder {
- /** initialize your data structure here. */
- List<Integer> list = new ArrayList<>();
- public MedianFinder() {
- }
- public void addNum(int num) {
- int pos = Collections.binarySearch(list, num);
- if(pos < 0) pos = -pos - 1;
- list.add(pos, num);
- }
- public double findMedian() {
- int size = list.size(), m = (size - 1) / 2, a = list.get(m), b = m + 1 < size ? list.get(m + 1) : 0;
- if(size % 2 != 0) return (double) a;
- return 0.5 * (a + b);
- }
- }
- /**
- * Your MedianFinder object will be instantiated and called as such:
- * MedianFinder obj = new MedianFinder();
- * obj.addNum(num);
- * double param_2 = obj.findMedian();
- */
Add Comment
Please, Sign In to add comment