2020-09-16 LongestTurbulentSubar
作者:
阿术和薇薇安 | 来源:发表于
2020-09-17 18:57 被阅读0次/**
* @author liluo
* @create 2020/9/15
* @description 数字规律:大小大小大小大小大小大小,或者:小大小大小大小大小大小大。
* 要特别注意处理相邻两个数字相同的情况
**/
public class LongestTurbulentSubarray {
public int maxTurbulenceSize(int[] A) {
if (A.length == 1) {
return 1;
}
int expect = 0;// -1:小于 1:大于
int fact =0;
int maxLen = 0, len = 0;
for (int i = 0; i < A.length-1; i++) {
if (A[i] > A[i+1]) {
fact = -1;
}else if (A[i] < A[i+1]) {
fact = 1;
}else if (A[i] == A[i+1]) {
fact = 0;
}
if (fact == 0) {
// 相邻两个数字相同
maxLen = Math.max(maxLen, len+1);
len = 0;
expect = 0;
}else {
if (expect == 0 || fact == expect) {
len ++;
expect = -fact;
} else {
maxLen = Math.max(maxLen, len+1);
len = 1;
expect = -fact;
}
}
}
return Math.max(maxLen, len+1);
}
}
本文标题:2020-09-16 LongestTurbulentSubar
本文链接:https://www.haomeiwen.com/subject/gflryktx.html
网友评论