前往
大廳
主題

LeetCode - 162. Find Peak Element 解題心得

Not In My Back Yard | 2021-11-21 00:00:03 | 巴幣 0 | 人氣 260

題目連結:


題目意譯:
一個尖峰元素為一元素其嚴格大於其鄰近元素。

給定一個整數陣列 nums,找到一個尖峰元素並回傳其索引值。如果陣列包含多個尖峰元素,則回傳任一個尖峰之索引值。

你可以想像 nums[-1] = nums[n] = -∞。

你必須撰寫一個演算法其時間複雜度為 O(log n)。

限制:
1 ≦ nums.length ≦ 1000
-2 ^ 31 ≦ nums[i] ≦ 2 ^ 31 - 1
nums[i] ≠ nums[i + 1] 對於所有合法的 i 值。



範例測資:
範例 1:
輸入: nums = [1,2,3,1]
輸出: 2
解釋: 3 為一個尖峰元素且你的函式應回傳索引值 2。

範例 2:
輸入: nums = [1,2,1,3,5,6,4]
輸出: 5
解釋: 你的函式應回傳索引值 1 其代表著尖峰元素 2,或是索引值 5 其代表著尖峰元素 6。


解題思維:
直接套用這題的作法即可(因為就算有多個尖峰,也只需回傳其中一個的索引值)。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作