2023-09-29 Daily Challenge
Today I have done leetcode's September LeetCoding Challenge with cpp.
September LeetCoding Challenge 29
Description
Monotonic Array
An array is monotonic if it is either monotone increasing or monotone decreasing.
An array nums is monotone increasing if for all i <= j, nums[i] <= nums[j]. An array nums is monotone decreasing if for all i <= j, nums[i] >= nums[j].
Given an integer array nums, return true if the given array is monotonic, or false otherwise.
Example 1:
Input: nums = [1,2,2,3] Output: true
Example 2:
Input: nums = [6,5,4,4] Output: true
Example 3:
Input: nums = [1,3,2] Output: false
Constraints:
1 <= nums.length <= 105-105 <= nums[i] <= 105
Solution
class Solution {
public:
bool isMonotonic(vector<int>& A) {
int len = A.size();
if(len < 2) return true;
int pos = 1;
while(pos < len && A[pos] == A[pos-1]) pos += 1;
if(pos == len) return true;
if(A[pos] > A[pos-1]) {
while(pos < len && A[pos] >= A[pos-1]) pos += 1;
return pos==len;
}
while(pos < len && A[pos] <= A[pos-1]) pos += 1;
return pos==len;
}
};
// Accepted
// 371/371 cases passed (120 ms)
// Your runtime beats 67.15 % of cpp submissions
// Your memory usage beats 29.47 % of cpp submissions (96.7 MB)