Back to all solutions
#1752 - Check if Array Is Sorted and Rotated
Problem Description
Given an array nums, return true if the array was originally sorted in non-decreasing order, then rotated some number of positions (including zero). Otherwise, return false.
There may be duplicates in the original array.
Note: An array A rotated by x positions results in an array B of the same length such that A[i] == B[(i+x) % A.length], where % is the modulo operation.
Solution
/**
* @param {number[]} nums
* @return {boolean}
*/
var check = function(nums) {
let count = 0;
for (let i = 0; i < nums.length - 1; i++) {
if (nums[i] > nums[i + 1]) {
count++;
}
}
if (nums[nums.length - 1] > nums[0]) {
count++;
}
return count < 2 ? true : false;
};