বাইনারি নম্বরে কনsekutিভ ১ চেক করতে ০ এবং ১ যাচাই করতে হয়।
প্রথমে বুল অ্যারে তৈরি করুন ০ এবং ১ এর জন্য (false/true):
bool[] myArr = {false, true, false, false, false, true, true, true};
০ পেলে কাউন্ট ০ করুন:
if (myArr[i] == false)
count = 0;
১ পেলে কাউন্ট বাড়ান এবং ম্যাক্স আপডেট করুন:
count++; res = Math.Max(res, count);
সম্পূর্ণ উদাহরণ
using System;
class MyApplication {
static int count(bool[] myArr, int num) {
int myCount = 0, res = 0;
for (int i = 0; i < num; i++) {
if (myArr[i] == false)
myCount = 0;
else {
myCount++;
res = Math.Max(res, myCount);
}
}
return res;
}
public static void Main() {
bool[] myArr = {false, true, false, false, false, true, true, true};
int num = myArr.Length;
Console.Write("Consecutive 1's = " + count(myArr, num));
}
}
আউটপুট
Consecutive 1's = 3
ব্যাখ্যা: অ্যারেতে শেষ তিনটি true (১) কনsekutিভ। Math.Max দিয়ে সর্বোচ্চ কনsekutিভ কাউন্ট ট্র্যাক করা হয়েছে।