ホームページ  >  記事  >  バックエンド開発  >  2 進数に K 個の連続する 1 があるかどうかを確認する C# プログラム

2 進数に K 個の連続する 1 があるかどうかを確認する C# プログラム

王林
王林転載
2023-09-12 15:21:12607ブラウズ

2 進数に K 個の連続する 1 があるかどうかを確認する C# プログラム

2 進数に 1 が連続しているかどうかを確認するには、0 と 1 を確認する必要があります。

最初に、0 と 1、つまり false と true のブール値の配列を設定します -

bool []myArr = {false, true, false, false, false, true, true, true};

0 の場合、カウントを 0 に設定します -

if (myArr[i] == false)
   count = 0;

1 の場合、増分しますカウントとセット結果。 Max() メソッドは、2 つの数値のうち大きい方を返します。 -

count++;
res = Math.Max(res, count);

Example

次は、2 進数に K 個の連続する 1 があるかどうかを確認する例です。-

サイトデモ

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&#39;s = "+count(myArr, num));
   }
}

出力

Consecutive 1&#39;s = 3

以上が2 進数に K 個の連続する 1 があるかどうかを確認する C# プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。