896. Monotonic Array

LeetCode Monotonic Array【Easy】

  • An array is monotonic if it is either monotone increasing or monotone decreasing.

  • An array A is monotone increasing if for all i <= j, A[i] <= A[j]. An array A is monotone decreasing if for all i <= j, A[i] >= A[j].

  • Return true if and only if the given array A is monotonic.
    Example 1:

Input: [1,2,2,3]
Output: true

Example 2:

Input: [6,5,4,4]
Output: true

Example 3:

Input: [1,3,2]
Output: false

Example 4:

Input: [1,2,4,5]
Output: true
Example 5:

Example 5:

Input: [1,1,1]
Output: true

Note:

  1. 1 <= A.length <= 50000
  2. -100000 <= A[i] <= 100000

解决

该题主要是求给定一个数组,判断该数组是否是单调数组,这里给出两种解决方案,其中方案二为递归方法。

代码

常规方案

   /**
   *  常规方案
   * @param A
   * @return
   */
  public boolean isMonotonic(int[] A) {

      //ascStatus 递增 默认true
      //descStatus 递减 默认true
      boolean ascStatus = true;
      boolean descStatus = true;
      if (A.length == 1||A.length==0) {
          return true;
      }
      //循环内判断递增或者递减
      for (int i = 0; i < A.length - 1; i++) {
          if (A[i] < A[i + 1]) {
              ascStatus = false;
          }
          if (A[i] > A[i + 1]) {
              descStatus = false;
          }
      }
      return (ascStatus||descStatus);
  }

递归方案

 /**
   * 递归方案
   * @param A
   * @return
   */
  public boolean isMonotonic(int[] A) {
      int len = A.length;
      return isDecrease(A,len)||isIncrease(A,len);
  }
  /**
   * 递增判断  递归
   * @param A
   * @param len
   * @return
   */
  public boolean isIncrease(int[] A,int len){
      if(len==1){
          return true;
      }
      return (A[len-2]<=A[len-1]&&isIncrease(A,len-1));
  }

  /**
   * 递减判断 递归
   * @param A
   * @param len
   * @return
   */
  public boolean isDecrease(int[] A,int len){
      if(len==1){
          return true;
      }
      return (A[len-2]>=A[len-1]&&isDecrease(A,len-1));
  }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 好久不见,是一杯清凉的茶水,需要经过漫长的品尝与回味,才能感受到它沁心的清雅与爽口。 让我们跟随花朵朵(杨子珊)与...
    那花评书阅读 1,895评论 6 12
  • 最近这周忙疯了,基本23点多才关闭电脑…一堆堆的任务积压…下面这个画又不知何时去取回来了
    宫尬阅读 226评论 0 1
  • 在这世界上总有那么一个人,不是你的父母,也不是你的兄弟姐妹,但是在她面前,你可以像在家人面前一样,毫无压力毫无顾虑...
    千晴姑娘阅读 228评论 0 0

友情链接更多精彩内容