当我拿到这道题的时候,第一时间想到的就是如下的暴力解法,时间复杂度:O(nlogn)+O(1)≃O(nlogn),空间复杂度:O(n)
class MedianFinder { private List<Integer> list = new ArrayList<>(); public MedianFinder() { } public void addNum(int num) { list.add(num); } public double findMedian() { Collections.sort(list); int size = list.size(); if(size%2==1){ return list.get(size/2); }else{ return (double)(list.get(size/2-1)+list.get(size/2))/2; } } }