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?

Welche verschiedenen Möglichkeiten gibt es, fehlende Zahlen in einem sortierten Array mit C# ohne integrierte Funktionen zu finden?

WBOY
Freigeben: 2023-08-29 15:45:06
nach vorne
1311 Leute haben es durchsucht

使用 C# 在没有任何内置函数的情况下查找排序数组中缺失的数字有哪些不同方法?

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.

Beispiel

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();
      }
   }
}
Nach dem Login kopieren

Ausgabe

2
2
2
Nach dem Login kopieren

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!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage