Heim >Backend-Entwicklung >C++ >In der C-Sprache die maximale absolute Differenz zwischen der Summe von Wert und Index

In der C-Sprache die maximale absolute Differenz zwischen der Summe von Wert und Index

WBOY
WBOYnach vorne
2023-08-25 20:25:031163Durchsuche

In der C-Sprache die maximale absolute Differenz zwischen der Summe von Wert und Index

Wir erhalten ein Array von ganzen Zahlen. Die Aufgabe besteht darin, die maximale absolute Differenz zwischen der Summe der Werte und den Exponenten zu berechnen. Das heißt, für jedes Indexpaar (i,j) im Array müssen wir | Arr[i] – A[j] | berechnen ] |. Arr[i] - A[j] + |i-j| und finde die maximal mögliche Summe. Hier stellt |A| den absoluten Wert von A dar. Wenn das Array 4 Elemente hat, sind die Indizes 0,1,2,3 und die eindeutigen Paare sind ( (0,0), (1,1), (2,2), (3,3) , (0 , 1), (0,2), (0,3), (1,2), (1,3), (2,3) ).

Eingabe − Arr[] = { 1,2,4,5 }

Ausgabe − Maximale absolute Differenz zwischen Wert und Summe der Indizes − 7

Erklärung - Indexpaarsumme |. - A[j] |. A[i]-A[j] + |i-j | Der maximale absolute Wert von − 13

− Die Indexpaarsumme A[i]-A[j] | ist unten dargestellt

Wir verwenden ein ganzzahliges Array Arr[]

Die Funktion maxabsDiff(int arr[],int n) wird verwendet, um die maximale absolute Differenz der Summe aus Wert und Index zu berechnen.

Wir initialisieren das Variablenergebnis auf -1.

  • Durchlaufen Sie ein Array von Ganzzahlen vom Anfang des Arrays in einer for-Schleife.

  • Durchlaufen Sie die verbleibenden Elemente in der verschachtelten for-Schleife und berechnen Sie die absolute Summe aus Elementwert und Index i, j (abs(arr[i] - arr[j]) + abs(i - j)) und Speichern Sie es in der Variablen absDiff.

  • Wenn diese neu berechnete Summe größer als die vorherige Summe ist, speichern Sie sie in „Ergebnis“.

  • Gibt das Ergebnis zurück, nachdem das gesamte Array durchlaufen wurde.

  • Beispiel

  • Demonstration
  • 1. (0,0), (1,1), (2,2), (3,3)--------- |i-j| for each is 0.
    2. (0,1)---------- |1-2| + |0-1|= 1+1 = 2
    3. (0,2)---------- |1-4| + |0-2|= 3+2 = 5
    4. (0,3)---------- |1-5| + |0-3|= 4+3 = 7
    5. (1,2)---------- |2-4| + |1-2|= 2+1 = 3
    6. (1,3)---------- |2-5| + |1-3|= 3+2 = 5
    7. (2,3)---------- |4-5| + |2-3|= 1+1 = 2
    Maximum value of such a sum is 7.

    Ausgabe

  • Wenn wir den obigen Code ausführen, wird die folgende Ausgabe generiert:
  • 1. (0,0), (1,1), (2,2)--------- |i-j| for each is 0.
    2. (0,1)---------- |10-20| + |0-1|= 10+1 = 11
    3. (0,2)---------- |10-21| + |0-2|= 11+2 = 13
    4. (1,2)---------- |20-21| + |1-2|= 1+1 = 2
    Maximum value of such a sum is 13.

Das obige ist der detaillierte Inhalt vonIn der C-Sprache die maximale absolute Differenz zwischen der Summe von Wert und Index. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen