【leetcode】896. 单调数列
如果数组是单调递增或单调递减的,那么它是 单调 的。
如果对于所有 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
解题思路:
单调数组nums,包括单调递增数组,单调递减数组,
单增数组,为后一位元素>=前一位元素
单减数组,为后一位元素<=前一位元素
代码:
C:
bool issort(int *nums, int numsSize, bool increasing)
{
if (increasing)
{
for (int i = 1; i < numsSize; i++)
{
if (nums[i] < nums[i - 1]) return false;
}
}
else
{
for (int i = 1; i < numsSize; i++)
{
if (nums[i] > nums[i - 1]) return false;
}
}
return true;
}
bool isMonotonic(int* nums, int numsSize){
return issort(nums, numsSize, true) || issort(nums, numsSize, false);
}