Heim > Backend-Entwicklung > C++ > Hauptteil

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

WBOY
Freigeben: 2023-08-25 20:25:03
nach vorne
1148 Leute haben es durchsucht

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.
    Nach dem Login kopieren

    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.
    Nach dem Login kopieren

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!

Verwandte Etiketten:
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