Run ID:100560
提交时间:2024-12-08 13:19:03
#include <stdio.h> int main() { int n; scanf("%d", &n); // 读取n的值 int array[n]; // 创建数组存储数列 for (int i = 0; i < n; i++) { scanf("%d", &array[i]); // 读取数列 } int maxCount = 0; // 记录最大相差2以内的数的个数 int currentCount = 1; // 当前相差2以内的数的个数,至少为1 // 遍历数列,找出相差2以内的数的个数 for (int i = 0; i < n - 1; i++) { if (array[i + 1] - array[i] <= 2) { currentCount++; // 如果当前数与下一个数相差2以内,计数增加 } else { if (currentCount > maxCount) { maxCount = currentCount; // 更新最大值 } currentCount = 1; // 重置当前计数 } } // 检查最后一个区间 if (currentCount > maxCount) { maxCount = currentCount; } printf("%d\n", maxCount); // 输出结果 return 0; }