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)