1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| class Solution { vector<int> st,en; public: vector<int> fullBloomFlowers(vector<vector<int>>& flowers, vector<int>& persons) { vector<int>ans; int n=flowers.size(); for(int i=0;i<n;i++) st.push_back(flowers[i][0]),en.push_back(flowers[i][1]); st.push_back(-1); st.push_back(INT_MAX); en.push_back(-1); en.push_back(INT_MAX); sort(st.begin(),st.end()); sort(en.begin(),en.end()); n=persons.size(); for(int i=0;i<n;i++) { int l=upper_bound(st.begin(),st.end(),persons[i])-st.begin(); int r=lower_bound(en.begin(),en.end(),persons[i])-en.begin(); ans.push_back(l-r); } return ans; } };
|