如果我有两个整数数组:
a = {2,2,3,3,5,6,7,2,2,2}
,b = {6,-5,2,2,2,2,4,5,3,3}
和一个 integer k = 2
,它定义了连续序列的数量(两个数组中相同 - [2,2]
, [3,3]
, [2,2,2]
in "a" / [2,2,2,2]
, [3,3]
in "b" ),我如何为每个数字序列运行单独的计数?
我是这样想的算法:
int count = 1;
for (int i=0; i<N; i++){
if ( a[i] == a[i+1] && b[i] == b[i+1] && a[i] == b[i] ){
count++;
}
if ( count >= k ){
condition = true;
}
}
对每个元素序列以 1 开始“计数”可以确保计数是准确的,但是这样,在检查数组的第二个和第三个位置时a
,它也会对元素进行计数,3
而不是在 处停止2
。
有什么建议么?