{% tabs %} {% tab title="CPP" %}
class Solution {
public:
int findPeakElement(vector<int>& nums) {
int l = 0,r = nums.size()-1; // 初始话不会是0值!!!!!
while (l < r) {
int mid = l + (r - l) / 2;
if (nums[mid] < nums[mid + 1]){
// 情景
l = mid + 1;
}
else {
r = mid;
}
}
return l;
}
};
{% endtab %}
{% tab title="Python" %}
class Solution:
def findPeakElement(self, nums: List[int]) -> int:
## Your solution should be in logarithmic complexity.
## 二分了
l , r = 0 , len(nums) -1
while l<r:
mid = (l + r)//2
if nums[mid] < nums[mid + 1]:
l = mid + 1
else:
r= mid
return l
### 这也算mid? 找到一个peek
{% endtab %} {% endtabs %}