- 设计思想:
-视频讲解链接B站视频讲解
- 复杂度分析:
- 代码:
c++版本:
class Solution
{
public:
/**
* 寻找最后的山峰
* @param a int整型一维数组
* @param aLen int a数组长度
* @return int整型
*/
int solve(int* a, int aLen)
{
// write code here'
//因为题目说找到下标最大的山峰索引
//所以直接从数组的最后一个往前遍历
for(int i = aLen - 1; i >= 1; i --)
{
//因为是倒着的嘛,所以只需要当前元素跟前一个比,
//因为默认右边小
if(a[i] >= a[i-1]){
return i;
}
}
return 0;
}
};
Java版本:
import java.util.*;
public class Solution {
/**
* 寻找最后的山峰
* @param a int整型一维数组
* @return int整型
*/
public int solve (int[] a) {
// write code here
//因为题目说找到下标最大的山峰索引
//所以直接从数组的最后一个往前遍历
for(int i = a.length - 1; i >= 1; i --)
{
//因为是倒着的嘛,所以只需要当前元素跟前一个比,
//因为默认右边小
if(a[i] >= a[i-1]){
return i;
}
}
return 0;
}
}Python版本:
#
# 寻找最后的山峰
# @param a int整型一维数组
# @return int整型
#
class Solution:
def solve(self , a ):
# write code here
#因为题目说找到下标最大的山峰索引
#所以直接从数组的最后一个往前遍历
for i in range(len(a)-1,0,-1):
#因为是倒着的嘛,所以只需要当前元素跟前一个比,
#因为默认右边小
if a[i] >= a[i-1]:
return i
return 0JavaScript版本:
/**
* 寻找最后的山峰
* @param a int整型一维数组
* @return int整型
*/
function solve( a ) {
// write code here
//因为题目说找到下标最大的山峰索引
//所以直接从数组的最后一个往前遍历
for(let i = a.length - 1; i >= 1; i --)
{
//因为是倒着的嘛,所以只需要当前元素跟前一个比,
//因为默认右边小
if(a[i] >= a[i-1]){
return i;
}
}
return 0;
}
module.exports = {
solve : solve
};
京公网安备 11010502036488号