Pour vérifier s'il y a des 1 consécutifs dans un nombre binaire, vous devez vérifier 0 et 1.
Tout d'abord, définissez un tableau de booléens pour 0 et 1, c'est-à-dire faux et vrai -
bool []myArr = {false, true, false, false, false, true, true, true};
Pour 0, définissez le nombre sur 0 -
if (myArr[i] == false) count = 0;
Pour 1, incrémentez le nombre et définissez le résultat. La méthode Max() renvoie le plus grand de deux nombres -
count++; res = Math.Max(res, count);
Ce qui suit est un exemple de vérification s'il y a K 1 consécutifs dans un nombre binaire -
Démonstration en direct
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
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!