Heim >Backend-Entwicklung >C#.Net-Tutorial >Welche verschiedenen Möglichkeiten gibt es, fehlende Zahlen in einem sortierten Array mit C# ohne integrierte Funktionen zu finden?
Es gibt die folgenden drei Methoden -
Die erste Methode
verwendet die Formel n(n+1)/2, um die Anzahl der Elemente zu berechnen, die dann von den Elementen in subtrahiert werden muss das Array.
Bei der zweiten Methode
erstellen Sie ein neues Array, durchlaufen das gesamte Array und setzen die gefundenen Zahlen auf „false“.
Bei der dritten Methode 强>
verwenden Sie die XOR-Operation. Dies ergibt die fehlende Zahl.
Echtzeitdemonstration
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
Das obige ist der detaillierte Inhalt vonWelche verschiedenen Möglichkeiten gibt es, fehlende Zahlen in einem sortierten Array mit C# ohne integrierte Funktionen zu finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!