C#LeetCode刷题之#896-单调数列(Monotonic Array)
问题
该文章的最新版本已迁移至个人博客【比特飞】,单击链接 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)相关推荐
- 【LeetCode刷题】896. 单调数列
如果数组是单调递增或单调递减的,那么它是单调的. 如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的. 如果对于所有 i <= j,A[i]> = ...
- C#LeetCode刷题之#665-非递减数列( Non-decreasing Array)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3732 访问. 给定一个长度为 n 的整数数组,你的任务是判断在最 ...
- 【leetcode刷题笔记】单调栈
典型例题:求左边第一个比当前元素小的数 (模板,弄懂) 代码: #include<iostream> using namespace std; #include<stack> ...
- C#LeetCode刷题-数组
数组篇 # 题名 刷题 通过率 难度 1 两数之和 C#LeetCode刷题之#1-两数之和(Two Sum) 43.1% 简单 4 两个排序数组的中位数 C#LeetCode刷题之#4-两个排序数组 ...
- 力扣896 单调数列(异或法)
原题:896. 单调数列 如果数组是单调递增或单调递减的,那么它是单调的. 如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的. 如果对于所有 i <= ...
- leetcode 896单调数列
896. 单调数列 如果数组是单调递增或单调递减的,那么它是单调的. 如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的. 如果对于所有 i <= j, ...
- c语言贪心算法合并箭,LeetCode刷题题库:贪心算法
LeetCode刷题笔记:贪心算法 自大学开始,我便陆陆续续的学习一些 算法和数据结构 方面的内容,同时也开始在一些平台刷题,也会参加一些大大小小的算法竞赛.但是平时刷题缺少目的性.系统性,最终导致算 ...
- 【LeetCode刷题日记】常用算法基础和理解及运用
在我们LeetCode刷题过程中,如果我们只是了解数据结构(数组,链表,数)的使用方法,那我们在面对复杂的题目时,是很难很好的解决问题的,因此我们要了解一些常用算法来帮助我们更好的解题. 递归和迭代 ...
- C#LeetCode刷题-程序员面试金典
本文由 比特飞 原创发布,欢迎大家踊跃转载. 转载请注明本文地址:C#LeetCode刷题-程序员面试金典 | .Net中文网. C#LEETCODE刷题概述 概述 所有LeetCode程序员面试金典 ...
最新文章
- 插入排序 链表 java_Java实现 LeetCode 147 对链表进行插入排序
- su组件在什么窗口_Su与Rhino互导注意事项
- Prim算法的3个版本
- ASP.NET Core中使用GraphQL - 第二章 中间件
- rocketmq 初探(三)
- Datawhale-零基础入门NLP-新闻文本分类Task02
- Java开发的Spring Boot的核心模块
- php getfullyear,getYear、getFullYear和getUTCFullYear三者的区别
- 查找某一字符串在目标字符串中所在的位置
- 使用Node.js的Express框架搭建和开发项目
- HDU 1862 EXCEL次序 (排序水问题)
- 创建hadoop账号
- 站群优化及优化技巧解析
- pdca管理循环基本主张_“PDCA”循环中的物业质量管理
- js:获取年龄的函数
- Eplan如何添加“连接定义点”
- CCF“信息检索”的前沿讲座
- 针式PKM适合对“大量的资料”进行系统性管理
- 计算机编程课是学什么的,编程是什么课程
- 清风数模课---多元回归分析