[英]Binary Run Length Encoding , reset counter
我有一個數組:{0,0,1,0,0,1,1}
我想計算1之前有0個,0之前有1個,
抱歉,如果基本上不清楚,應該打印:2,1,,2,2
(2個零,1個1、2個零,2個)
我需要重置計數器,但是我不知道該怎么做
謝謝
public static void main(String[] args) {
int tab[] = { 0, 0, 1, 0, 1, 1 }; //
int count0 = 0;
int count1 = 0;
for (int i = 0; i < tab.length; i++) {
if (tab[i] == 0) {
count0 = count0 + 1;
} else {
count1 = count1 + 1;
}
}
System.out.println(count0 + "\t" + count1);
// prints 4 3
// want it to print 2 1 2 2
}
}
當值從0變為1或從1變為0時復位。
for (int num : tab) {
if (num == 0) {
count0++;
if (count1 > 0) {
System.out.println(count1);
count1 = 0;
}
} else {
count1++;
if (count0 > 0) {
System.out.println(count0);
count0 = 0;
}
}
}
System.out.println(Math.max(count0, count1));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.