Дан массив целых чисел из N элементов. Задача - вывести абсолютную разность всех попарно следующих друг за другом элементов.
Попарно последовательные пары массива размера N равны (a [i], a [i + 1]) для всех i в диапазоне от 0 до N-2.
Примеры:
Ввод: arr [] = {8, 5, 4, 3, 15, 20}
Выход: 3, 1, 1, 12, 5
Ввод: arr [] = {5, 10, 15, 20}
Выход: 5, 5, 5
Рекомендуется: сначала попробуйте свой подход в {IDE}, прежде чем переходить к решению.
Подход: решение состоит в том, чтобы пройти по массиву, вычислить и распечатать абсолютную разность каждой пары (arr [i], arr [i + 1]).
Ниже представлена реализация описанного выше подхода:
C ++
#include <iostream> using namespace std; void pairwiseDifference( int arr[], int n) { int diff;
for ( int i = 0; i < n - 1; i++) {
diff = abs (arr[i] - arr[i + 1]);
cout << diff << " " ;
}
} int main() { int arr[] = { 4, 10, 15, 5, 6 };
int n = sizeof (arr) / sizeof (arr[0]);
pairwiseDifference(arr, n); return 0;
} |
Джава
class GFG{ static void pairwiseDifference( int arr[], int n) { int diff;
for ( int i = 0 ; i < n - 1 ; i++) {
diff = Math.abs(arr[i] - arr[i + 1 ]);
System.out.print(diff+ " " );
}
} public static void main(String[] args) { int arr[] = { 4 , 10 , 15 , 5 , 6 };
int n = arr.length;
pairwiseDifference(arr, n);
} } |
Python 3
def pairwiseDifference(arr, n):
for i in range (n - 1 ) :
diff = abs (arr[i] - arr[i + 1 ])
print (diff , end = " " )
if __name__ = = "__main__" : arr = [ 4 , 10 , 15 , 5 , 6 ]
n = len (arr)
pairwiseDifference(arr, n)
|
C #
using System; class GFG{ static void pairwiseDifference( int []arr, int n) { int diff;
for ( int i = 0; i < n - 1; i++) {
diff = Math.Abs(arr[i] - arr[i + 1]);
Console.WriteLine(diff+ " " );
}
} public static void Main(String[] args) { int []arr = { 4, 10, 15, 5, 6 };
int n = arr.Length;
pairwiseDifference(arr, n);
} } |
PHP
<?php function pairwiseDifference( $arr , $n ) { $diff = 0;
for ( $i = 0; $i < $n - 1; $i ++)
{
$diff = abs ( $arr [ $i ] - $arr [ $i + 1]);
echo $diff . " " ;
}
} $arr = array ( 4, 10, 15, 5, 6 ); $n = sizeof( $arr ); pairwiseDifference( $arr , $n ); ?> |
Javascript
<script>
function pairwiseDifference(arr , n) {
var diff;
for (i = 0; i < n - 1; i++) {
diff = Math.abs(arr[i] - arr[i + 1]);
document.write(diff + " " );
}
}
var arr = [ 4, 10, 15, 5, 6 ];
var n = arr.length;
pairwiseDifference(arr, n);
</script> |
Сложность времени: O (n)
Вниманию читателя! Не прекращайте учиться сейчас. Получите все важные математические концепции для соревновательного программирования с курсом Essential Maths for CP по доступной для студентов цене. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .