LeetCode简单题之单调数列

news/2025/3/14 17:17:33/

题目

如果数组是单调递增或单调递减的,那么它是单调的。
如果对于所有 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
来源:力扣(LeetCode)

解题思路

  题目难度不大,但是要注意细节。这道题基本的思路就是遍历数组,找到第一个位置相邻的两个不同的值,根据它们的大小关系,假设相应的单调性,如果没有找到两个不一样的值,那么数组可以是单调减也可以是单调增。

class Solution:def isMonotonic(self, nums: List[int]) -> bool:if len(nums)<2:return Trueflag=-1  #若数组所有数字一样flag=-1for i in range(1,len(nums)):if nums[i]>nums[i-1]:flag=0  #假设数组单调增breakelif nums[i]<nums[i-1]:flag=1  #假设数组单调减break if flag==-1:return Trueelif flag==0:for j in range(i+1,len(nums)):if nums[j]<nums[j-1]:return Falsereturn Trueelse:for j in range(i+1,len(nums)):if nums[j]>nums[j-1]:return Falsereturn True

在这里插入图片描述


http://www.ppmy.cn/news/606245.html

相关文章

LeetCode简单题之比赛中的配对次数

题目 给你一个整数 n &#xff0c;表示比赛中的队伍数。比赛遵循一种独特的赛制&#xff1a; 如果当前队伍数是 偶数 &#xff0c;那么每支队伍都会与另一支队伍配对。总共进行 n / 2 场比赛&#xff0c;且产生 n / 2 支队伍进入下一轮。 如果当前队伍数为 奇数 &#xff0c;那…

Cache技术实战分析

Cache技术实战分析 在计算机存储系统的层次结构中&#xff0c;介于中央处理器和主存储器之间的高速小容量存储器。与主存储器一起构成一级的存储器。高速缓冲存储器和主存储器之间信息的调度和传送是由硬件自动进行的。   某些机器甚至有二级三级缓存&#xff0c;每级缓存比前…

BERT可视化工具bertviz体验

BERT可视化工具体验&#xff1a;bertviz是用于BERT模型注意力层的可视化页面。 1&#xff0c;bertviz的github地址&#xff1a;https://github.com/jessevig/bertviz 2&#xff0c;将bertviz项目clone到本地&#xff0c;启动Jupyter notebbok。 D:\PycharmProjects\bertviz-mas…

极端交换————晴问算法

文章目录 1 题目2 思路3 实现 1 题目 2 思路 以此比较最大值、最小值&#xff0c;记录最大、最小值以及其下标位置&#xff0c;结束遍历后&#xff0c;交换其位置。 3 实现 #include<iostream> using namespace std;int main(){int n;scanf("%d", &n);i…

LeetCode简单题之二分查找

题目 给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一个目标值 target &#xff0c;写一个函数搜索 nums 中的 target&#xff0c;如果目标值存在返回下标&#xff0c;否则返回 -1。 示例 1: 输入: nums [-1,0,3,5,9,12], target 9 输出: 4 解释: 9…

二叉树的遍历方式(递归)

前序遍历思路图示代码中序遍历思路代码后序遍历思路代码前序遍历 二叉树的前序遍历 给你二叉树的根节点 root &#xff0c;返回它节点值的 前序 遍历。 思路 递归需要考虑三个要素 确定递归函数的参数和返回值&#xff1a; 确定哪些参数是递归的过程中需要处理的&#xff0…

DPU与超算服务器

DPU与超算服务器 软硬件融合&#xff1a;从DPU到超异构计算 DPU是当前一个非常热门的话题。副标题是“从DPU到超异构计算”&#xff0c;本文详细分析了对DPU认识的四个层级&#xff1a; Level 1&#xff1a;DPU是CPU的任务卸载/加速。 Level 2&#xff1a;IPU是基础设施&…

nn.moduleList 和Sequential由来、用法和实例 —— 写网络模型

对于cnn前馈神经网络如果前馈一次写一个forward函数会有些麻烦&#xff0c;在此就有两种简化方式&#xff0c;ModuleList和Sequential。其中Sequential是一个特殊的module&#xff0c;它包含几个子Module&#xff0c;前向传播时会将输入一层接一层的传递下去。ModuleList也是一…