免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
山峰數(shù)組的頂部

1 問題

給定由整數(shù)組成的山峰數(shù)組 arr ,返回任何滿足 arr[0] < arr[1] < ... arr[i - 1] < arr[i] > arr[i + 1] > ... > arr[arr.length - 1] 的下標(biāo) i ,即山峰頂部。

示例 1:

輸入:arr = [0,1,0]

輸出:1

示例 2:

輸入:arr = [1,3,5,4,2]

輸出:2

2 方法

  1. 循環(huán)遍歷
    題目給的是一個(gè)山峰數(shù)組,所以是先遞增再遞減
    思路一:
    對(duì)數(shù)組進(jìn)行遍歷,如果遍歷到的那個(gè)元素比下一個(gè)元素大,則這個(gè)元素。

  2. 二分法查找
    在山峰數(shù)組中,因?yàn)槭窍冗f增再遞減,要使用二分查找方法的話
    假設(shè)滿足題目要求所要得元素下標(biāo)為mid,那么就滿足在下標(biāo)i<mid時(shí),
    這個(gè)時(shí)候arr[i]<arr[i+1]是一直成立的,相反,在滿足下標(biāo)i>mid時(shí),arr[i]>arr[i+1]也是一直成立的。
    這樣就有一個(gè)思路:
    定義左邊left=0,右邊right=len(arr)-2,ans = 0。
    這樣定義是防止特殊數(shù)組的出現(xiàn),如只有三個(gè)數(shù)的數(shù)組,這個(gè)時(shí)候就取中間 。mid = (left+right)/2
    如果arr[mid]>arr[mid+1],則定義ans = mid,此時(shí)right向左邊移動(dòng)一位,如果arr[mid]<arr[mid+1],則left向左邊移動(dòng)一位。
    代碼如下:

  3. 第三種:使用python內(nèi)部函數(shù)

直接使用max(arr)求出最大值,再arr.index(max(arr))直接求出最大值下標(biāo)。

            山峰數(shù)組代碼

//循環(huán)遍歷查找最大值
arr = [12, 26, 48, 49, 56, 79, 50, 44, 32, 11]
n = len(arr)
ans = 0
for i in range(n):
if arr[i] > arr[i + 1]:
       ans = i
break
print
(ans)
//使用二分法查找
arr = [12, 26, 48, 49, 56, 79, 50, 44, 32, 11]
n = len(arr)
left, right, ans = 1, n - 2, 0

while left <= right:
   mid = (left + right) // 2
if arr[mid] > arr[mid + 1]:
       ans = mid
       right = mid - 1
else:
       left = mid + 1
print(ans)
//使用python內(nèi)部函數(shù)直接求
arr = [12, 26, 48, 49, 56, 79, 50, 44, 32, 11]
print(arr.index(max(arr)))

4 結(jié)語

針對(duì)山峰數(shù)組問題,提出了循環(huán)遍歷,二分法,python內(nèi)部函數(shù)等方法解決問題,對(duì)于二分法要注意的是,每一次進(jìn)行二分法查找之前,先對(duì)定義的指針進(jìn)行移動(dòng)。

實(shí)習(xí)編輯:李欣容

稿件來源:深度學(xué)習(xí)與文旅應(yīng)用實(shí)驗(yàn)室(DLETA)

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
python技巧:二分法詳解,如何使用python實(shí)現(xiàn)二分法查找及優(yōu)化?
排序算法 --- 計(jì)數(shù)排序
JavaScript數(shù)組
生成一個(gè)下標(biāo)從N開始的數(shù)組
Java實(shí)現(xiàn)簡單的二分法查找int數(shù)組中的某值
3、WPS JS循環(huán)語句之for in
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服