python LeetCodeの練習問題を解くFind Peak Element in Given num_list
タイトル
A peak element is an element that is greater than its neighbors.
Given an input array where
The array may contain multiple peaks, in that case return the index to any one of the peaks is fine.
You may imagine that
For example, in array
翻訳:
ランダム配列を指定すると、左隣の右隣よりも大きな要素が下付きに戻ります.
考え方:
前のブログの考え方と似ていて、遍歴するときに一時変数を更新するだけでいいです.ここで注意してください.開始位置と終了位置の比較、そして下付き文字を返します.私は要素と下付き文字を返しました.
具体的には、次のようになります.
結果は次のとおりです.
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 翻訳:
ランダム配列を指定すると、左隣の右隣よりも大きな要素が下付きに戻ります.
考え方:
前のブログの考え方と似ていて、遍歴するときに一時変数を更新するだけでいいです.ここで注意してください.開始位置と終了位置の比較、そして下付き文字を返します.私は要素と下付き文字を返しました.
具体的には、次のようになります.
#!usr/bin/env python
#encoding:utf-8
'''
__Author__:
:Find Peak Element in Given num_list
'''
def find_peek_element(num_list):
'''
'''
result_list=[]
index_list=[]
length=len(num_list)
for i in range(1,length-2):
j=i+1
if num_list[j]>num_list[i] and num_list[j]>num_list[j+1]:
result_list.append(num_list[j])
index_list.append(j)
print ' Peak_element_list is:', result_list
print 'Peak_element_index_list is:', index_list
if __name__ == '__main__':
num_list=[1,2,3,6,9,4,5,7,6,8,9,0]
find_peek_element(num_list)
結果は次のとおりです.
Peak_element_list is: [9, 7, 9]
Peak_element_index_list is: [4, 7, 10]
[Finished in 0.2s]