How to check if an array is monotonic in C++

1 Answer

0 votes
// check adjacent array elements to determine if the array is monotone increasing (or decreasing)

#include <vector>
#include <iostream>

bool isMonotonic(std::vector<int> &array) {
	int increase = 0, decrease = 0;
	int size = array.size();

	for (int i = 0;i < size - 1; i++) {
	    if (array[i] > array[i + 1]) {
			increase = 1;
		}
		if (array[i] < array[i + 1]) {
		    decrease = 1;
		}
		if (increase == 1 && decrease == 1) {
			return false;
		}
	}

	return true;
}

int main()
{
	std::vector<int> array = {1, 3, 4, 6, 8, 9, 11, 17, 18};

	std::cout << (isMonotonic(array) ? "true" : "false");
}




/*
run:

true

*/

 



answered Feb 22, 2024 by avibootz
edited Feb 22, 2024 by avibootz

Related questions

1 answer 110 views
110 views asked Feb 23, 2024 by avibootz
1 answer 113 views
1 answer 184 views
1 answer 143 views
1 answer 141 views
2 answers 168 views
1 answer 99 views
...