如果数组是单调递增或单调递减的,那么它是单调的。

如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的。

当给定的数组 A 是单调数组时返回 true,否则返回 false。

示例 1:

输入:[1,2,2,3]
输出:true

示例 2:

输入:[6,5,4,4]
输出:true

示例 3:

输入:[1,3,2]
输出:false

示例 4:

输入:[1,2,4,5]
输出:true

示例 5:

输入:[1,1,1]
输出:true

提示:

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

==========================================================================================================================================
分析:
找差值不同号的

class Solution {public boolean isMonotonic(int[] A) {int flag = 0;for(int i=1;i<A.length;i++){//把第一个非0差值赋给flagif(flag == 0){flag = A[i] - A[i-1];}int temp = A[i]-A[i-1];//差值不同号,则非单调if(flag * temp < 0){return false;}}return true;}
}

法二:使用两个变量记录相邻数组的大小;最后判断两个变量

class Solution {public boolean isMonotonic(int[] A) {int i = 0;int j = 0;for(int k=0;k<A.length-1;k++){if(A[k] < A[k+1]){i++;}else if(A[k] > A[k+1]){j++;}if(i!=0 && j!=0){return false;}}return i*j==0;}
}

如果单调的话,i和j就不会变化,即两个都为0
如果不单调的话,i和j都不为0。
参考:https://leetcode-cn.com/problems/monotonic-array

【LeetCode刷题】896. 单调数列相关推荐

  1. leetcode 896单调数列

    896. 单调数列 如果数组是单调递增或单调递减的,那么它是单调的. 如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的. 如果对于所有 i <= j, ...

  2. C#LeetCode刷题-数组

    数组篇 # 题名 刷题 通过率 难度 1 两数之和 C#LeetCode刷题之#1-两数之和(Two Sum) 43.1% 简单 4 两个排序数组的中位数 C#LeetCode刷题之#4-两个排序数组 ...

  3. c语言贪心算法合并箭,LeetCode刷题题库:贪心算法

    LeetCode刷题笔记:贪心算法 自大学开始,我便陆陆续续的学习一些 算法和数据结构 方面的内容,同时也开始在一些平台刷题,也会参加一些大大小小的算法竞赛.但是平时刷题缺少目的性.系统性,最终导致算 ...

  4. 【LeetCode刷题日记】常用算法基础和理解及运用

    在我们LeetCode刷题过程中,如果我们只是了解数据结构(数组,链表,数)的使用方法,那我们在面对复杂的题目时,是很难很好的解决问题的,因此我们要了解一些常用算法来帮助我们更好的解题. 递归和迭代 ...

  5. C#LeetCode刷题-程序员面试金典

    本文由 比特飞 原创发布,欢迎大家踊跃转载. 转载请注明本文地址:C#LeetCode刷题-程序员面试金典 | .Net中文网. C#LEETCODE刷题概述 概述 所有LeetCode程序员面试金典 ...

  6. C#LeetCode刷题-剑指Offer

    本文由 比特飞 原创发布,欢迎大家踊跃转载. 转载请注明本文地址:C#LeetCode刷题-剑指Offer | .Net中文网. C#LEETCODE刷题概述 概述 所有LeetCode剑指Offer ...

  7. C#LeetCode刷题-贪心算法

    贪心算法篇 # 题名 刷题 通过率 难度 44 通配符匹配 17.8% 困难 45 跳跃游戏 II 25.5% 困难 55 跳跃游戏 30.6% 中等 122 买卖股票的最佳时机 II C#LeetC ...

  8. 【恋上数据结构】复杂度知识以及LeetCode刷题指南

    基础知识 什么是算法? 如何评判一个算法的好坏? 大O表示法(Big O) 对数阶的细节 常见的复杂度 多个数据规模的情况 LeetCode刷题指南 斐波那契数列复杂度分析 斐波那契数列 - 递归 斐 ...

  9. GitHub疯传,这个Leetcode刷题手册到底有多流弊?

    写在前面 最近一个读者和我反馈,他坚持刷题2个月,终于去了他梦寐以求的大厂,薪资涨幅非常可观,期间面字节跳动还遇到了原题...并表示目前国内的大厂和一些独角兽,已经越来越效仿硅谷公司的做法,通过面试给 ...

  10. GitHub标星90K,这份持续霸榜的Leetcode刷题手册到底有多强?

    写在前面 最近一个读者和我反馈,他坚持刷题2个月,终于去了他梦寐以求的大厂,薪资涨幅非常可观,期间面字节跳动还遇到了原题...并表示目前国内的大厂和一些独角兽,已经越来越效仿硅谷公司的做法,通过面试给 ...

最新文章

  1. ICCV 2019 | 加一个任务路由让数百个任务同时跑起来,怎么做到?
  2. 人工智能和大数据的开发过程中需要注意这12点
  3. 编写安装配置DHCP服务脚本
  4. intel219网卡的linux驱动,ubuntu16.04安装I219-V网卡驱动问题解决方法(示例代码)
  5. 开源分布式数据库RadonDB的核心技术与实现
  6. matlab文件读写监听,matlab对文件的读写
  7. Angular jasmine单元测试框架spied method的调用记录数据结构
  8. 1030 Travel Plan(甲级)
  9. linux 计算机概论 Linux介绍
  10. 环境搭建:通过repo下载gerrit管理的code
  11. poj3159 Candies 2012-09-07
  12. GBase 8a MPP Cluster管理工具---“GBaseDataStudio”
  13. 新建linux efi分区,EFI系统分区是什么?单独创建EFI分区的图文教程
  14. css全局加粗,CSS 实现矩形四个边角加粗的方法
  15. ps 提示暂存满,不能导入文件
  16. Java 编程问题:八、函数式编程-基础和设计模式
  17. OpenCV图像处理---模糊原理
  18. 被误解的鸟枪换炮:实体资产通证化没那么容易
  19. 网络初始化失败,点击确定后将退出
  20. pyplot画图技巧

热门文章

  1. 黑马头条-day02
  2. 心情不好就狂吃?好心情心理:这是病,得治!
  3. Unable to attach or mount volumes: unmounted volumes=[nfs-client-root], unattached volumes=[nfs-clie
  4. 将jar包安装到本地仓库
  5. Unity3D之塔防游戏的制作(一)
  6. 千里之行,第一步该怎样走?
  7. 在WPF中获取程序的专用工作集内存 PerformanceCounter
  8. 初学Linux——Day4
  9. 最新Delphi XE2 正式版破解程序
  10. Android从零开始搭建MVVM架构(1)