判断一个数列不是等差数列,要比判断一个数列是等差数列比较容易。
bool progressive = true;
for (int i = 0; i < A.size() - 1; ++i){
if (A[i+1] - A[i] != A[1] - A[0]){
progressive = false;
break;
}
}
当然也可以等差数列的性质:
bool progressive = true;
int d = A[1] - A[0]
for (int i = 2; i < A.size(); ++i){
if (A[i] != A[i-1] + d) {
progressive = false;
break;
}
}