Find Peak Element
class Solution {
public:
int findPeakElement(vector<int>& nums) {
int len = nums.size();
if(len == 1) return 0;
int index = len/2;
int left = 0,right = len-1;
while(index >= left && index <= right){
if(index == left ){
cout<<"==left"<<index<<endl;
if(nums[index] > nums[index+1])
return index;
else{
index++;
continue; // notice the continue
}
}
if(index == right ){
if(nums[index] > nums[index-1])
return index;
else{
index--;
continue; // notice the continue
}
}
if(nums[index] >= nums[index-1] && nums[index] <= nums[index+1]){
index++;
}
else if(nums[index] <= nums[index-1] && nums[index] >= nums[index+1]){
index--;
}
else if(nums[index] <= nums[index-1] && nums[index] <= nums[index+1]){
index--;
}
else if(nums[index] >= nums[index-1] && nums[index] >= nums[index+1]){
return index;
}
}
}
};