方法1:java
首尾分别考虑。
import java.util.*;
public class Solution {
/**
* 寻找最后的山峰
* @param a int整型一维数组
* @return int整型
*/
public int solve (int[] a) {
// write code here
int flag1=-1;
//不考虑首、尾
for (int i=1; i<a.length-1; i++){
if (a[i]>a[i-1] && a[i]>a[i+1]){
flag1=i;
}
}
//首、尾处理
int n=a.length-1;
if (a[n]>a[n-1]){ //尾
return Math.max(n,flag1);
}else{ //首
return Math.max(0,flag1);
}
}
}
方法2:python
class Solution:
def solve(self , a ):
# write code here
flag=0
for i in range(1,len(a)-1):
if a[i]>a[i-1] and a[i]>a[i+1]:
flag=i
#尾
if a[len(a)-1]>a[len(a)-2]: return max(flag,len(a)-1)
if a[0]>a[1]: return max(flag,0)
return flag