问题

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3760 访问。

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

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

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

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

输出:true

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

输出:true

输入:[1,3,2]

输出:false

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

输出:true

输入:[1,1,1]

输出:true

提示:

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


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.

Input: [1,2,2,3]

Output: true

Input: [6,5,4,4]

Output: true

Input: [1,3,2]

Output: false

Input: [1,2,4,5]

Output: true

Input: [1,1,1]

Output: true

Note:

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


示例

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3760 访问。

public class Program {public static void Main(string[] args) {int[] nums = { 1, 2, 5 };var res = IsMonotonic(nums);Console.WriteLine(res);Console.ReadKey();}private static bool IsMonotonic(int[] A) {return isMonotonicIncrease(A) || isMonotonicReduce(A);}private static bool isMonotonicIncrease(int[] A) {for(var i = 0; i < A.Length - 1; i++) {if(A[i + 1] < A[i]) {return false;}}return true;}private static bool isMonotonicReduce(int[] A) {for(var i = 0; i < A.Length - 1; i++) {if(A[i + 1] > A[i]) {return false;}}return true;}}

以上给出1种算法实现,以下是这个案例的输出结果:

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3760 访问。

True

分析:

显而易见,以上算法的时间复杂度为:  。

C#LeetCode刷题之#896-单调数列(Monotonic Array)相关推荐

  1. 【LeetCode刷题】896. 单调数列

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

  2. C#LeetCode刷题之#665-非递减数列( Non-decreasing Array)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3732 访问. 给定一个长度为 n 的整数数组,你的任务是判断在最 ...

  3. 【leetcode刷题笔记】单调栈

    典型例题:求左边第一个比当前元素小的数 (模板,弄懂) 代码: #include<iostream> using namespace std; #include<stack> ...

  4. C#LeetCode刷题-数组

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

  5. 力扣896 单调数列(异或法)

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

  6. leetcode 896单调数列

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

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

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

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

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

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

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

最新文章

  1. 插入排序 链表 java_Java实现 LeetCode 147 对链表进行插入排序
  2. su组件在什么窗口_Su与Rhino互导注意事项
  3. Prim算法的3个版本
  4. ASP.NET Core中使用GraphQL - 第二章 中间件
  5. rocketmq 初探(三)
  6. Datawhale-零基础入门NLP-新闻文本分类Task02
  7. Java开发的Spring Boot的核心模块
  8. php getfullyear,getYear、getFullYear和getUTCFullYear三者的区别
  9. 查找某一字符串在目标字符串中所在的位置
  10. 使用Node.js的Express框架搭建和开发项目
  11. HDU 1862 EXCEL次序 (排序水问题)
  12. 创建hadoop账号
  13. 站群优化及优化技巧解析
  14. pdca管理循环基本主张_“PDCA”循环中的物业质量管理
  15. js:获取年龄的函数
  16. Eplan如何添加“连接定义点”
  17. CCF“信息检索”的前沿讲座
  18. 针式PKM适合对“大量的资料”进行系统性管理
  19. 计算机编程课是学什么的,编程是什么课程
  20. 清风数模课---多元回归分析

热门文章

  1. 文件字节输出流 java
  2. 匿名内部类 java 1614965228
  3. 自定义日期工具类 java 1614698552
  4. linux-权限更改-符号更改法-rwx
  5. javascript-练习-数组数据存li中
  6. group_concat函数使用
  7. Sysbench压测
  8. https://www.cnblogs.com/jingmoxukong/p/7755643.html
  9. 通过Etcd+Confd自动管理Haproxy(多站点)
  10. thinkphp连接oracle