Maison >développement back-end >Tutoriel C#.Net >Quelles sont les différentes manières de rechercher les nombres manquants dans un tableau trié en utilisant C# sans aucune fonction intégrée ?
Il existe les trois méthodes suivantes -
La première méthode
utilise la formule n(n+1)/2 pour calculer le nombre d'éléments, qui doit ensuite être soustrait des éléments dans le tableau.
Dans la deuxième méthode
créez un nouveau tableau, parcourez l'ensemble du tableau et définissez les nombres trouvés sur faux.
Dans la troisième méthode 强>
utilisez l'opération XOR. Cela donne le numéro manquant.
Démonstration en temps réel
using System; namespace ConsoleApplication{ public class Arrays{ public int MissingNumber1(int[] arr){ int totalcount = 0; for (int i = 0; i < arr.Length; i++){ totalcount += arr[i]; } int count = (arr.Length * (arr.Length + 1)) / 2; return count - totalcount; } public int MissingNumber2(int[] arr){ bool[] tempArray = new bool[arr.Length + 1]; int element = -1; for (int i = 0; i < arr.Length; i++){ int index = arr[i]; tempArray[index] = true; } for (int i = 0; i < tempArray.Length; i++){ if (tempArray[i] == false){ element = i; break; } } return element; } public int MissingNumber3(int[] arr){ int result = 1; for (int i = 0; i < arr.Length; i++){ result = result ^ arr[i]; } return result; } } class Program{ static void Main(string[] args){ Arrays a = new Arrays(); int[] arr = { 0, 1, 3, 4, 5 }; Console.WriteLine(a.MissingNumber1(arr)); Console.WriteLine(a.MissingNumber2(arr)); Console.WriteLine(a.MissingNumber3(arr)); Console.ReadLine(); } } }
2 2 2
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!