class Solution {
public:
deque<int> dq;
double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) {
for(int i=0;i<nums1.size();i++){
dq.push_back(nums1[i]);
}
for(int i=0;i<nums2.size();i++){
int a = nums2[i];
int idx = upper_bound(dq.begin(),dq.end(),a)-dq.begin();
dq.insert(dq.begin()+idx,a);
}
int s = dq.size();
double ans = 0;
ans = s%2==0?(double)(dq[s/2]+dq[(s/2)-1])/2:dq[(s/2)];
return ans;
}
};
내장함수쓰면 더 빠른데 문제에서 원하는게 먼지 모르겠다
priority queue로 관리하면서 푸는 것도 있을 것 같다!
암튼 삽입정렬처럼 풀이를 하였다
이 문제는 이렇게 풀면 인터뷰 코테 바로 탈락임. Binary Search로 O( log(min(N1, N2)) ) 시간에 풀어야된다.
저기서 binary search 직접구현하면 된다는 소린가요
upperbound안쓰고
아 이하함ㄱㅅ요