English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Wie finde ich in Java von1Welche fehlenden Zahlen fehlen in der gegebenen Array von n?

Wenn eine einzelne Zahl in einem Integer-Array, das eine Zahlenwertsequenz enthält, fehlt, kann sie auf Basis der Summe der Ziffern oder auf Basis des XOR der Ziffern gefunden werden.

Basierend auf der Summe der Ziffern -

  • Die Summe der n Indizes beträgt [n *(n + 1)] / 2Verwenden Sie diese Methode, um die Summe der n Ziffern zu erhalten.

  • Fügen Sie alle Elemente im Array hinzu.

  • Subtrahieren Sie die Summe der Ziffern im Array aus der Gesamtsumme der n Ziffern.

Beispiel

import java.util.Scanner;
public class MissingNumber {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Geben Sie n-Wert: ");
      int n = sc.nextInt();
      int inpuArray[] = new int[n];
      System.out.println("Geben Sie (n-1) Anzahl der Ziffern: ");
      for(int i=0; i<=n-2; i++) {
         inpuArray[i] = sc.nextInt();
      }
      //Suchen Sie die fehlende Zahl
      int sumOfAll = (n*(n+1))/2;
      int sumOfArray = 0;
      for(int i=0; i<=n-2; i++) {
         sumOfArray = sumOfArray+inpuArray[i];
      }
      int missingNumber = sumOfAll-sumOfArray;
      System.out.println("Fehlende Zahl ist: ");+missingNumber);
   }
}

Ausgabefolge

Geben Sie den Wert von n ein:
5
Geben Sie (n-1) Zahlen:
1
2
4
5
Die fehlende Zahl ist: 3

Verwenden Sie die XOR-Operation-Eine andere Methode zur Suche nach der fehlenden Zahl ist die XOR-Operation.

  • Finden Sie den XOR aller Zahlen.

  • Finden Sie den XOR aller Zahlen im Array.

  • Dann finden Sie die XOR der beiden Ergebnisse.

Beispiel

import java.util.Scanner;
public class MissingNumber {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Geben Sie den Wert von n ein: ");
      int n = sc.nextInt();
      int inpuArray[] = new int[n];
      System.out.println("Geben Sie (n-1) numbers: ");
      for(int i=0; i<=n-2; i++) {
         inpuArray[i] = sc.nextInt();
      }
      //Verlorene Zahl finden
      int xorArray = inpuArray[0];
      //XOR der Elemente des Arrays
      for(int i=1; i <= n-1; i++) {
         xorArray = xorArray ^ i;
      }
      int xorAll = inpuArray[0];
      //Bitweise XOR-Operation der Arrayelemente
      for(int i=1; i <= n+1; i++) {
         xorAll = xorAll ^ i;
      }
      int missingNumber = xorArray ^ xorAll;
      System.out.println("Fehlende Zahl ist: ");+missingNumber);
   }
}

Ausgabefolge

Geben Sie den Wert von n ein:
5
Geben Sie (n-1) Zahlencodes:
1
2
4
5
Fehlende Zahl ist: 3