Maison > Article > développement back-end > En langage C, la différence absolue maximale entre la somme de la valeur et l'indice
Nous obtenons un tableau d'entiers. La tâche consiste à calculer la différence absolue maximale entre la somme des valeurs et des exposants. Autrement dit, pour chaque paire d'indices (i,j) du tableau, nous devons calculer | Arr[i] - A[j] | Arr[i] - A[j] | ] | Arr[i] - A[j] + |i-j| et trouvez la somme maximale possible. Ici |A| représente la valeur absolue de A. Si le tableau comporte 4 éléments, les indices sont 0,1,2,3 et les paires uniques seront ( (0,0), (1,1), (2,2), (3,3) , (0 , 1), (0,2), (0,3), (1,2), (1,3), (2,3) ).
Entrée − Arr[] = { 1,2,4,5 }
Sortie − Différence absolue maximale entre la valeur et la somme des indices − 7
Interprétation - Somme des paires d'indices A[i ]- A[j] | A[i]-A[j] + |i-j | comme suit
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.
input − Arr[] = { 10,20,21 }
output − différence entre la valeur et index La valeur absolue maximale de − 13
Explication − La somme de la paire d'index | A[i]-A[j] |
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.
Sortie
#include <stdio.h> #include <math.h> // Function to return maximum absolute difference int maxabsDiff(int arr[], int n){ int result = 0; for (int i = 0; i < n; i++) { for (int j = i; j < n; j++) { int absDiff= abs(arr[i] - arr[j]) + abs(i - j); if (absDiff > result) result = absDiff; } } return result; } int main(){ int Arr[] = {1,2,4,1,3,4,2,5,6,5}; printf("Maximum absolute difference of value and index sums: %d", maxabsDiff(Arr,10)); return 0; }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!