当前位置: 首页 > wzjs >正文

德州核酸检测最新公告怀化seo推广

德州核酸检测最新公告,怀化seo推广,wordpress文章分类目录进不去,网站建设项目前景一、题目 给定一个整数数组 arr&#xff0c;如果它是有效的山脉数组就返回 true&#xff0c;否则返回 false。 让我们回顾一下&#xff0c;如果 arr 满足下述条件&#xff0c;那么它是一个山脉数组&#xff1a; arr.length > 3在 0 < i < arr.length - 1 条件下&am…

一、题目

给定一个整数数组 arr,如果它是有效的山脉数组就返回 true,否则返回 false

让我们回顾一下,如果 arr 满足下述条件,那么它是一个山脉数组:

  • arr.length >= 3
  • 在 0 < i < arr.length - 1 条件下,存在 i 使得:
    • arr[0] < arr[1] < ... arr[i-1] < arr[i]
    • arr[i] > arr[i+1] > ... > arr[arr.length - 1]

示例 1:

输入:arr = [2,1]
输出:false

示例 2:

输入:arr = [3,5,5]
输出:false

示例 3:

输入:arr = [0,3,2,1]
输出:true

二、思路

        第一时间想到的是先找到数字的最大值的下标也就是山峰的位置,再分别判断左半和右半是否是严格递增和递减的。不过要注意数组单调的话也不是山脉数组。

        然后再想有没有别的方法更高效,看了大佬的思路发现可以用相向指针解决。

 

三、代码

遍历法:

class Solution {public boolean validMountainArray(int[] arr) {if(arr.length < 3) {return false;}//先找到数字的最大值的下标也就是山峰的位置int max = 0;int index = 0;for(int i = 0;i< arr.length;i++) {if(arr[i] > max) {max = arr[i];index = i;}}//单调的话也不是山峰if(index == arr.length - 1 || index == 0) {return false;}//再分别判断左半和右半是否是严格递增和递减的。for(int j = 0;j < index;j++) {if(arr[j] >= arr[j+1]) {return false;}}for(int j = index;j<arr.length - 1;j++) {if(arr[j] <= arr[j+1]) {return false;}}return true;}
}

双指针法:

        

class Solution {public boolean validMountainArray(int[] arr) {if (arr.length < 3) { // 此时,一定不是有效的山脉数组return false;}// 双指针int left = 0;int right = arr.length - 1;// 注意防止指针越界while (left + 1 < arr.length && arr[left] < arr[left + 1]) {left++;}// 注意防止指针越界while (right > 0 && arr[right] < arr[right - 1]) {right--;}// 如果left或者right都在起始位置,说明不是山峰if (left == right && left != 0 && right != arr.length - 1) {return true;}return false;}
}

http://www.dtcms.com/wzjs/239449.html

相关文章:

  • 做视频大赛推广的网站营销案例分析报告模板
  • 网站的动态是什么意思漯河网络推广哪家好
  • 广东中山建设信息网站google翻译
  • 学做美食网站搜索引擎优化的核心及内容
  • 在线看视频网站怎么做的万网的app叫什么
  • 中国建设银行官网主页优化推广联盟
  • 纪检监察信访举报网站建设推广普通话绘画
  • 建设银行网站 诚聘英才 频道百度上怎么免费开店
  • wordpress临时关闭页面沈阳seo收费
  • 做网站和做公众号微营销是什么
  • 几何图形生成网站武汉seo结算
  • 电商网站开发北京平台网站开发公司
  • 河北沧州建设官方网站如何快速提升自己
  • 汕头建站模板厂家外链网盘
  • 网页微信截图快捷键英语seo什么意思
  • 今日财经重大新闻2021百度seo
  • 公司变更法人需要多少费用中国seo排行榜
  • 手机在线logo生成器长沙有实力的关键词优化价格
  • 做视频网站的服务器怎么做网站推广多少钱
  • 深圳网站建设服务中心排名seo怎么样
  • 做外贸网站案例青岛网站优化公司
  • 社交网站开发客户百度seo排名
  • php 网站备份代码西安seo培训学校
  • 做设计用图片的网站广告投放运营主要做什么
  • 做移动网站开发seo查询平台
  • 旅游网站开发的流程网站项目开发流程
  • 虎林网站建设广告咨询
  • 网站优化改版seo渠道
  • 对搜索引擎优化的认识优化落实疫情防控新十条
  • 网站更改备案信息网络运营培训哪里有学校