Heim > Artikel > Backend-Entwicklung > 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.
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
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
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!