LeetCode 1901. 找出顶峰元素 II(二分查找)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 1901. 找出顶峰元素 II(二分查找)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
一個(gè) 2D 網(wǎng)格中的 頂峰元素 是指那些 嚴(yán)格大于 其相鄰格子(上、下、左、右)的元素。
給你一個(gè) 從 0 開始編號 的 m x n 矩陣 mat ,其中任意兩個(gè)相鄰格子的值都 不相同 。找出 任意一個(gè) 頂峰元素 mat[i][j] 并 返回其位置 [i,j] 。
你可以假設(shè)整個(gè)矩陣周邊環(huán)繞著一圈值為 -1 的格子。
要求必須寫出時(shí)間復(fù)雜度為 O(m log(n)) 或 O(n log(m)) 的算法
示例 1:
示例 2:
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/find-a-peak-element-ii
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
2. 解題
- 對行進(jìn)行二分查找,找到中行 mid, 及其上下兩行,每行的最大值
- 如果 mid 行最大值 >= 相鄰兩行的,則找到了頂峰
- 否則,二分查找較大的一側(cè),頂峰元素肯定存在
144 ms 45.2 MB C++
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關(guān)注我的公眾號(Michael阿明),一起加油、一起學(xué)習(xí)進(jìn)步!
總結(jié)
以上是生活随笔為你收集整理的LeetCode 1901. 找出顶峰元素 II(二分查找)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 1863. 找出所有子
- 下一篇: LeetCode 2121. 相同元素的