如果我有整數兩個數組:計數序列
a = {2,2,3,3,5,6,7,2,2,2}
,b = {6,-5,2,2,2,2,4,5,3,3}
和整數k = 2
,它定義(連續序列的數目在兩個陣列SAME - [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;
}
}
爲元素的每個序列可以保證數是準確的開始「計數」的一個,但這樣一來,檢查第二和第三時數組a
的位置,它也將計數元素3
而不是停止在2
。
有什麼建議嗎?
你會溢出數組,除非你在你的循環中改變爲i
mathematician1975
2012-08-13 12:59:00
@ mathematician1975是的,N是數組的大小,我試圖設置for循環但是,它似乎不工作,因爲他也計算了「3」元素,增加了計數 – 2012-08-13 13:05:32
if(a [i] == a [i + 1] && b [i] = = b [i + 1] && a [i] == b [i] && count <= k')?不過最好使用'count <= k && a [i] == a [i + 1] && b [i] == b [i + 1] && a [i] == b [i]' – 2012-08-13 13:51:55