LeetCode~941.有效的山脉数组
2024-08-28 06:31:05
941.有效的山脉数组
给定一个整数数组 A
,如果它是有效的山脉数组就返回 true
,否则返回 false
。
让我们回顾一下,如果 A 满足下述条件,那么它是一个山脉数组:
A.length >= 3
在 0 < i < A.length - 1 条件下,存在 i 使得:
A[0] < A[1] < ... A[i-1] < A[i]
A[i] > A[i+1] > ... > A[B.length - 1]
示例:
输入:[2,1]
输出:false
输入:[3,5,5]
输出:false
输入:[0,3,2,1]
输出:true
提示
0 <= A.length <= 10000
0 <= A[i] <= 10000
个人思路解析
class Solution {
public boolean validMountainArray(int[] A) {
// 根据条件可以淘汰为空或者长度小于3的数组
if(A != null && A.length >= 3){
// 定义一个指针变量
int index = 1;
// 循环判断当前元素是否大于前一位元素(山峰左侧,上坡)
while (index < A.length && A[index] > A[index-1]){
// 符合条件指针后移继续判断
index++;
}
// 判断指针是否到达末位或着前面元素大于当前元素
if (index >= A.length || index == 1){
// 不符合山峰形状,返回false
return false;
}
// 循环判断剩余元素是否小于前一位元素(山峰右侧,下坡)
while (index < A.length && A[index] < A[index-1]){
// 符合条件指针后移继续判断
index++;
}
// 判断是否完成遍历
if (index == A.length){
// 符合山峰形状,返回true
return true;
}
}
return false;
}
}
提交结果
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/valid-parentheses
最新文章
- grub2配置显示系统选择菜单(ubuntu 14.04)
- HTML的select控件美化
- C#微信开发小白成长教程二(新手接入指南,附视频)
- google map api v2的使用详细过程,图文并茂(原创)
- 转:Java NIO系列教程(三) Buffer
- sql 联合查询并更新
- Silverlight学习之初始化参数
- 不用找了,比较全的signalR例子已经为你准备好了.
- TreeView控制消息
- 使用Ratpack与Spring Boot构建高性能JVM微服务
- asp.net core系列 46 Identity介绍
- Android自动解析html带图片,实现图文混排
- Django 中的static文件的设置
- JavaEEMybatis基础整理
- 将markdown文档使用gulp转换为HTML【附带两套css样式】
- Trident的过滤操作
- 高通adsp架构下sensor
- 组播协议——IGMP v2报文头介绍
- 如何VMare虚拟机里安装Mac操作系统(图文详解)
- JS 中的布尔运算符 &;&; 和 ||
热门文章
- [Algo] 280. Sort With 2 Stacks
- Eova 怎么放在 Docker中,使用阿里云流水线构建Eova!!
- 利用CSS制作背景变色的横向导航栏
- metinfo_5.3变量覆盖引发的一系列问题
- ubuntu linux下解决“no java virtual machine was found after searching the following locations:”的方法
- HTTP Status 500 - Request processing failed; nested exception is java.lang.IllegalArgumentException: Control character in cookie value or attribute.
- LeetCode No.94,95,96
- 路由器协议----IGP、EGP、RIP、OSPF、BGP、MPLS
- 【mysql学习】InnoDB数据结构
- iOS路由详解