目录

题目

思路

Code


题目

给定一个数组,数组中的每个元素代表该位置的海拔高度。0表示平地,>=1时表示属于某个山峰,山峰的定义为当某个位置的左右海拔均小于自己的海拔时,该位置为山峰。数组起始位置计算时可只满足一边的条件。
输入描述
一个整数数组
输出描述
输出符合条件的山峰的个数

示例1:
输入:
 [0,1,2,3,2,4]
输出:
2

示例2:

输入:

 [3,0,3,4,1]

输出:

2


函数:



class Solution(object): def validMountainCount(self, arr): """ :type arr: List[int] :rtype: int """


思路

1:此题为leetcode模式,实现给定的函数即可。

2:题目还是比较简单的,没有什么复杂的算法,直接暴力的遍历每个数组元素,判断每个位置与其左右位置的高度关系即可。

编辑

Code

# coding:utf-8
#JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 
import functools
import sys
from collections import Counter, defaultdict
import copy
from itertools import permutations
import re
import math
import sys
from queue import Queue

class Solution(object):
    def validMountainCount(self, arr):
        """
        :type arr: List[int]
        :rtype: int
        """
        result = 0
        i=0
        arr_len = len(arr)
        while(True):
            if(i>=arr_len):
                return result
            else :
                #左边界
                if(i==0):
                    if (arr[i+1] < arr[i]):
                        result += 1
                #右边界
                elif (i==arr_len-1):
                    if (arr[i-1] < arr[i]):
                        result += 1
                else :
                    if(arr[i-1] < arr[i] and arr[i+1] < arr[i]):
                        result += 1
            i+=1

【华为od机试真题Python+JS+Java合集】【超值优惠】:Py/JS/Java合集

【华为od机试真题Python】:Python真题题库

【华为od机试真题JavaScript】:JavaScript真题题库

【华为od机试真题Java】:Java真题题库

【华为od机试真题C++】:C++真题题库

【华为od机试真题C语言】:C语言真题题库

【华为od面试手撕代码题库】:面试手撕代码题库

【华为od机试面试交流群:830285880】