[英]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.