/**
*
* 如果数组是单调递增或单调递减的,那么它是单调的。
* 如果对于所有 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
*
*
* 解题思路:
* 1.单调数组两种情况:
* 升序:nums[i] <= nums[i+1]
* 当出现nums[i] > nums[i+1],则不是升序
* 降序: nums[i] >= nums[i+1]
* 当出现nums[i] < nums[i+1],则不是降序
* 既不是升序也不是降序,则为非单调数组
*
*/
/**
* @param {number[]} nums
* @return {boolean}
*/
var isMonotonic = function(nums) {
const n = nums.length;
let asc = true,desc = true;
for(var i=0;i<n;i++){
if(nums[i] > nums[i+1]){
asc = false;
}
if(nums[i]<nums[i+1]){
desc = false;
}
}
return asc ||desc;
};
const nums = [5,1,3,2];
console.log(isMonotonic(nums));
leetcode算法刷题记录之单调数列
最新推荐文章于 2022-09-11 22:20:49 发布