给定一个整数数组,求出无序整数的最短子序列的长度。如果一组整数既不递减也不递增,则称为无序。[提示:开始检查它是否递增/递减并返回0,否则检查是否存在无序的三元组。如果是,则返回3,否则返回0]
样例
样例 1:
输入:[1,2,3,4,5,6]
输出:0
解释:一个递增数组。
样例 2:
输入:[1,2,1,2]
输出:3
解释:[1,2,1]
class Solution {
public:
/**
* @param arr: an array of integers
* @return: the length of the shortest possible subsequence of integers that are unordered
*/
int shortestUnorderedArray(vector<int> &arr) {
// write your code here
bool judge;
judge=arr[0]<arr[1]?:true,false;
/* for (int i = 0; i < arr.size()-1; i++) {
if(judge==true&&arr[i]>arr[i+1])return 3;
else if(judge==false&&arr[i]<arr[i+1]) return 3;
}*/
if(judge)
{
for (int i = 0; i < arr.size()-1; i++) {
if(arr[i]>arr[i+1]) return 3;
}
}
else
{
for (int i = 0; i < arr.size()-1; i++) {
if(arr[i]<arr[i+1]) return 3;
}
}
return 0;
}
};