leetcode162. 尋找峰值 變種二分見過嗎

峰值元素是指其值大于左右相鄰值的元素。

給定一個輸入數組?nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。

數組可能包含多個峰值,在這種情況下,返回任何一個峰值所在位置即可。

你可以假設?nums[-1] = nums[n] = -∞。

示例 1:

輸入: nums = [1,2,3,1]
輸出: 2
解釋: 3 是峰值元素,你的函數應該返回其索引 2。
示例?2:

輸入: nums = [1,2,1,3,5,6,4]
輸出: 1 或 5?
解釋: 你的函數可以返回索引 1,其峰值元素為 2;
?? ? 或者返回索引 5, 其峰值元素為 6。
說明:

你的解法應該是?O(logN)?時間復雜度的。

思路:

二分,具體見代碼。(一直保持夾逼的趨勢,搜出一個數字即可)

public class Solution {public int findPeakElement(int[] nums) {int l = 0, r = nums.length - 1;while (l < r) {int mid = (l + r) / 2;if (nums[mid] > nums[mid + 1])r = mid;elsel = mid + 1;}return l;}
}

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/444465.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/444465.shtml
英文地址,請注明出處:http://en.pswp.cn/news/444465.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

(十九)TCPIP面試寶典-進入大廠必備總結(上)

TCP 作為傳輸層的協議,是一個IT工程師素養的體現,也是面試中經常被問到的知識點。在此,我將 TCP 核心的一些問題梳理了一下,希望能幫到各位。 實際上這篇文章相當于是復習之前的網絡基礎部分。只不過這篇文章的提問方式更靈活,也是讓讀者們懂得變通,更熟悉TCP。 TCP 和 U…

leetcode348. 判定井字棋勝負 好麻煩的代碼

請在 n n 的棋盤上&#xff0c;實現一個判定井字棋&#xff08;Tic-Tac-Toe&#xff09;勝負的神器&#xff0c;判斷每一次玩家落子后&#xff0c;是否有勝出的玩家。 在這個井字棋游戲中&#xff0c;會有 2 名玩家&#xff0c;他們將輪流在棋盤上放置自己的棋子。 在實現這…

C++:17---sizeof運算符

功能:以字節位單位,返回一個表達式或一個數據類型所占的字節數返回值類型:是size_t類型sizeof有無括號:sizeof不加括號,后面不可以直接跟數據類型sizeof加括號,后面既可以跟表達式也可以跟數據類型注意事項對引用類型執行sizeof運算得到被引用對象所占空間的大小對指針執…

leetcode345. 反轉字符串中的元音字母

編寫一個函數&#xff0c;以字符串作為輸入&#xff0c;反轉該字符串中的元音字母。 示例 1: 輸入: "hello" 輸出: "holle" 示例 2: 輸入: "leetcode" 輸出: "leotcede" 說明: 元音字母不包含字母"y"。 思路&#xff1a…

Redis:10---List對象

一、列表對象概述列表類型是用來存儲多個有序的字符串&#xff0c;一個列表最多可以存儲多個元素。列表是一種比較靈活的數據結構&#xff0c;它可以充當棧和隊列的角色&#xff0c;在實際開發上有很多應用場景特點&#xff1a;一個列表可以存儲多個字符串&#xff0c;相同元素…

Redis:09---Hash對象

一、哈希對象簡介幾乎所有的編程語言都提供了哈希&#xff08;hash&#xff09;類型&#xff0c;它們的叫法可能是哈希、字典、關聯數組哈希又稱散列在Redis中&#xff0c;哈希類型是指鍵值本身又是一個鍵值對結構&#xff0c;形如value{{field1&#xff0c;value1}&#xff0c…

leetcode329. 矩陣中的最長遞增路徑

給定一個整數矩陣&#xff0c;找出最長遞增路徑的長度。 對于每個單元格&#xff0c;你可以往上&#xff0c;下&#xff0c;左&#xff0c;右四個方向移動。 你不能在對角線方向上移動或移動到邊界外&#xff08;即不允許環繞&#xff09;。 示例 1: 輸入: nums [ [9,9,…

Query Ajax 實例 ($.ajax、$.post、$.get)

Jquery在異步提交方面封裝的很好&#xff0c;直接用AJAX非常麻煩&#xff0c;Jquery大大簡化了我們的操作&#xff0c;不用考慮瀏覽器的詫異了。 推薦一篇不錯的jQuery Ajax 實例文章&#xff0c;忘記了可以去看看&#xff0c;地址為&#xff1a;http://www.cnblogs.com/yeer/a…

C++:18---const關鍵字(附常量指針、指針常量、常量指針常量)

一、const變量的一些基本特點 ①const修飾的變量不能被修改const int a=10; a=20;//錯誤②因為const修飾的變量不能被修改,所以必須被初始化int a=10; const int b=a; //正確 const int c=10; //正確③const修飾的變量可以賦值給其他值const int a=10; int b=a;//正確④可以有…

C:01---數據類型與ASCII

一、整型 int 取值范圍:-32768~32767unsigned int 取值范圍:0~65535short /short int 取值范圍:比int小unsigned short 無符號短整型long 長整型定義時,后面加上l或L有符號與無符號數: unsigned:無符號數,一般用來表示數據signed:有符號數,一般用來表示數字整型占…

leetcode330. 按要求補齊數組 頂級難度玄學貪心

給定一個已排序的正整數數組 nums&#xff0c;和一個正整數 n 。從 [1, n] 區間內選取任意個數字補充到 nums 中&#xff0c;使得 [1, n] 區間內的任何數字都可以用 nums 中某幾個數字的和來表示。請輸出滿足上述要求的最少需要補充的數字個數。 示例 1: 輸入: nums [1,3], …

C:02---scanf、printf

一、printf 控制符 ①精度控制:輸入小數點后m位(%.mf)。右對齊5位,保留小數點后m位(%d.mf)%f、%lf默認輸出6位小數②寬度:%md(打印m為,右對齊,多出m位照常打印)。%-md(打印m位,左對齊,多出m位照常打印)③長度:h表示短(打印短整型short:%hd),l表示長(打印長…

C++:20---成員變量初始化方式

成員變量初始化有三種方式: 在構造函數體內賦值初始化在自定義的公有函數體中賦值初始化(一般用于成員變量的初始化)在構造函數的成員初始化列表初始化一、構造函數體內初始化 說明:在構造函數體內的初始化方式,本質是是為成員變量賦值,而不是真正意義上的初始化,這點要…

leetcode339. 嵌套列表權重和

給定一個嵌套的整數列表&#xff0c;請返回該列表按深度加權后所有整數的總和。 每個元素要么是整數&#xff0c;要么是列表。同時&#xff0c;列表中元素同樣也可以是整數或者是另一個列表。 示例 1: 輸入: [[1,1],2,[1,1]] 輸出: 10 解釋: 因為列表中有四個深度為 2 的 1…

C++:19---this指針

一、this指針介紹 概念:this指針是成員函數的一個隱式參數,在類中本質上就是對象的指針(常量指針)特點:在成員函數中可通過this指針區別成員變量與形參變量this可以顯式調用示例代碼:class Cperson{private:int age;float height;public:void InitPerson(int age,float hei…

leetcode346. 數據流中的移動平均值

給定一個整數數據流和一個窗口大小&#xff0c;根據該滑動窗口的大小&#xff0c;計算其所有整數的移動平均值。 示例: MovingAverage m new MovingAverage(3); m.next(1) 1 m.next(10) (1 10) / 2 m.next(3) (1 10 3) / 3 m.next(5) (10 3 5) / 3 思路&#xff1…

(二十)TCPIP面試寶典-進入大廠必備總結(中)

TCP 作為傳輸層的協議,是一個IT工程師素養的體現,也是面試中經常被問到的知識點。在此,我將 TCP 核心的一些問題梳理了一下,希望能幫到各位。 實際上這篇文章相當于是復習之前的網絡基礎部分。只不過這篇文章的提問方式更靈活,也是讓讀者們懂得變通,更熟悉TCP。 前兩篇文…

leetcode263. 丑數

編寫一個程序判斷給定的數是否為丑數。 丑數就是只包含質因數 2, 3, 5 的正整數。 示例 1: 輸入: 6 輸出: true 解釋: 6 2 3 示例 2: 輸入: 8 輸出: true 解釋: 8 2 2 2 示例 3: 輸入: 14 輸出: false 解釋: 14 不是丑數&#xff0c;因為它包含了另外一個質因數 7。…

(二十一)TCPIP面試寶典-進入大廠必備總結(下)

TCP 作為傳輸層的協議,是一個IT工程師素養的體現,也是面試中經常被問到的知識點。在此,我將 TCP 核心的一些問題梳理了一下,希望能幫到各位。 實際上這篇文章相當于是復習之前的網絡基礎部分。只不過這篇文章的提問方式更靈活,也是讓讀者們懂得變通,更熟悉TCP。 上一篇文…

C++:23 再議const的用法(下)

上一篇文章折騰了一波粉絲,那么這一篇文章稍微溫柔一些。 我主要開始說如何正確使用const 1.不能將const 修飾的任何對象、引用和指針作為賦值表達式的左值。 const int cx=100; const int & rcx=cx; const int * pcx=&cx; cx=200; //error rcx=200; //error *pcx=200…