Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public:
- vector<int> b_s(vector<vector<int>>& mat,int left,int right){
- auto l=mat[left];
- auto r=mat[right];
- int mid=left+right;
- mid/=2;
- auto m=mat[mid];
- auto m_max=max_element(m.begin(),m.end());
- auto l_max=max_element(l.begin(),l.end());
- auto r_max=max_element(r.begin(),r.end());
- while(left<right){
- if(*m_max>*l_max){
- return b_s(mat,left,mid);
- }else{
- return b_s(mat,mid+1,right);
- }
- }
- return {mid,(int)(m_max-m.begin())};
- }
- vector<int> findPeakGrid(vector<vector<int>>& mat) {
- return b_s(mat,0,(int)mat.size()-1);
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement