国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Leetcode 162. Find Peak Element

2019-11-11 05:00:16
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

A peak element is an element that is greater than its neighbors.

Given an input array where num[i] ≠ num[i+1], find a peak element and return its index.

The array may contain multiple peaks, in that case return the index to any one of the peaks is fine.

You may imagine that num[-1] = num[n] = -∞.

For example, in array [1, 2, 3, 1], 3 is a peak element and your function should return the index number 2.

s思路: 1. 這題看著沒(méi)難度啊。o(n)一遍,就出結(jié)果,出題肯定不是讓我給這個(gè)解答。也就意味著有o(lgn). 2. 確實(shí)可以用binary search。因?yàn)榻o的這個(gè)中間比兩邊大的要求,可以用來(lái)判斷binary search的走向。比如: 這里寫(xiě)圖片描述 上圖,如果mid的位置是下坡,那么肯定有一個(gè)peak在mid的左側(cè);如果mid的位置是上坡,那么肯定有一個(gè)peak在mid的右側(cè)。 3.這題給自己思維的啟發(fā)是:如果給的題目,看起來(lái)簡(jiǎn)單,一下就有結(jié)果,通常就意味著出題的人需要更優(yōu)化的結(jié)果,比如:簡(jiǎn)單粗暴的做法有o(n^2),那么尋找看是否有o(nlgn)或o(n);簡(jiǎn)單粗暴的做法有o(n),那么尋找看是否有o(lgn)!優(yōu)化的關(guān)鍵,在我看來(lái),不是炫技,而是打破潛意識(shí)的約束和限制,站在新的角度看問(wèn)題而已,無(wú)所謂好壞!

class Solution {public: int findPeakElement(vector<int>& nums) { // int n=nums.size(); int l=0,r=n-1; while(l<=r){ int m=l+(r-l)/2; if((m==0||nums[m]>nums[m-1])&&(m==n-1||nums[m]>nums[m+1])) return m; if((m==0||nums[m]>nums[m-1])&&(m==n-1||nums[m]<nums[m+1]))//主動(dòng)加保護(hù) l=m+1; else r=m-1; } return 0; }};
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 沂南县| 襄垣县| 长岛县| 乡城县| 蒙阴县| 哈尔滨市| 崇阳县| 自治县| 孟州市| 府谷县| 岢岚县| 庐江县| 仙居县| 延边| 阜南县| 安平县| 安乡县| 监利县| 曲靖市| 旅游| 凉山| 耿马| 西乡县| 吉安县| 建始县| 库伦旗| 顺平县| 绿春县| 石阡县| 潍坊市| 龙州县| 鸡西市| 玉林市| 吉林市| 凤翔县| 香格里拉县| 叶城县| 如东县| 榆社县| 新河县| 永登县|