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  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]