最大连续1的个数
int findMaxConsecutiveOnes(int* a, int n) {
int j = 0, m = 0, val = 1;
for(int i = 0; i < n; i++)
{
for(; i < n && val == a[i]; m = max(m, i - j + 1), i++);
if(i < n && val != a[i]) j = i + 1;
}
return m;
}
#include <stdio.h>
#define max(a, b) (a < b) ? (b) : (a)
int findMaxConsecutiveValues(int a[], int n, int val) {
int j = 0, m = 0;
for (int i = 0; i < n; i++)
{
for (; i < n && val == a[i]; m = max(m, i - j + 1), i++);
if (i < n && val != a[i]) j = i + 1;
}
return m;
}
int main()
{
int a[] = { 0, 1, 1, 1, 1, 0, 1, 1, 2, 2, 2, 1, 1 };
int n = sizeof(a) / sizeof(a[0]);
printf("%d\n", findMaxConsecutiveValues(a, n, 2));
return 0;
}