LeetCode每日一题——单调数列
题目要求:
如果数组是单调递增或单调递减的,那么它是 单调 的。
如果对于所有 i <= j
,nums[i] <= nums[j]
,那么数组 nums
是单调递增的。 如果对于所有 i <= j
,nums[i] >= nums[j]
,那么数组 nums
是单调递减的。
当给定的数组 nums
是单调数组时返回 true
,否则返回 false
。
示例 1:
输入:nums = [1,2,2,3] 输出:true
示例 2:
输入:nums = [6,5,4,4] 输出:true
示例 3:
输入:nums = [1,3,2] 输出:false
代码实现:
bool isMonotonic(int* nums, int numsSize) {
int flag = 2;//根据flag的值判断数列单调性
for (int i = 1; i < numsSize; i++) {
if (nums[i-1] > nums[i]) {//假设数列单调递增
if (flag == 0)
return false;//若出现减的情况则不单调
flag = 1;//表示增
}
else if (nums[i-1] < nums[i]) {//假设数列单调递减
if (flag == 1)
return false;//若出现增的情况则不单调
flag = 0;//表示减
}
}
return true;
}
作者:Arw
来源:力扣(LeetCode)
坚持编程,我一直在路上!