麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

Leetcode 162. Find Peak Element

2019-11-11 05:00:16
字體:
來源:轉載
供稿:網友

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. 這題看著沒難度啊。o(n)一遍,就出結果,出題肯定不是讓我給這個解答。也就意味著有o(lgn). 2. 確實可以用binary search。因為給的這個中間比兩邊大的要求,可以用來判斷binary search的走向。比如: 這里寫圖片描述 上圖,如果mid的位置是下坡,那么肯定有一個peak在mid的左側;如果mid的位置是上坡,那么肯定有一個peak在mid的右側。 3.這題給自己思維的啟發是:如果給的題目,看起來簡單,一下就有結果,通常就意味著出題的人需要更優化的結果,比如:簡單粗暴的做法有o(n^2),那么尋找看是否有o(nlgn)或o(n);簡單粗暴的做法有o(n),那么尋找看是否有o(lgn)!優化的關鍵,在我看來,不是炫技,而是打破潛意識的約束和限制,站在新的角度看問題而已,無所謂好壞!

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]))//主動加保護 l=m+1; else r=m-1; } return 0; }};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 精品国产91久久久久久久妲己 | 久久精品影视 | 日韩欧美精品电影 | 国产二区三区四区 | 免费亚洲视频在线观看 | 久久av免费观看 | 久草在线观看福利视频 | 91精品国产99久久久久久 | 国产一区二区三区精品在线观看 | 亚洲国产精久久久久久久 | 青青草在线免费观看 | 国产九色在线播放九色 | 最新一区二区三区 | 国人精品视频在线观看 | 国产精品免费久久久久 | 日本综合久久 | 日韩视频www | 国产精品18久久久久久久 | 啪啪毛片 | 国产成人aⅴ | 超碰在线97国产 | 国产色视频一区 | 国产伦久视频免费观看视频 | 色人阁五月天 | 欧美久久久久久久久 | 激情大乳女做爰办公室韩国 | 99影视在线视频免费观看 | 国产69精品久久99不卡免费版 | 精品一区二区三区中文字幕老牛 | 亚洲人成中文字幕在线观看 | 久久老司机 | xfplay噜噜av| 亚洲成人黄色片 | 一级成人欧美一区在线观看 | 久草在线观看福利 | 国产男女爽爽爽爽爽免费视频 | 最新国产毛片 | 免费一级特黄做受大片 | 主人在调教室性调教女仆游戏 | 久草手机在线观看视频 | 免费99热在线观看 |