Given an array arr, the task is to replace each element of the array with the element that appears before it and replace the first element with -1.
Examples:
Input: arr[] = {5, 1, 3, 2, 4}
Output: -1 5 1 3 2Input: arr[] = {6, 8, 32, 12, 14, 10, 25 }
Output: -1 6 8 32 12 14 10
Approach: Traverse the array from n – 1 to 1 and update arr[i] = arr[i-1]. In the end set a[0] = -1 and print the contents of the updated array.
Below is the implementation of the above approach:
C++
// C++ program to replace every element of the array // with the element that appears before it #include <bits/stdc++.h> using namespace std;
// Function to print the array after replacing every element // of the array with the element that appears before it void updateArray( int arr[], int n)
{ // Update array
for ( int i = n - 1; i > 0; i--)
arr[i] = arr[i - 1];
// Change the first element to -1
arr[0] = -1;
// Print the updated array
for ( int i = 0; i < n; i++)
cout << arr[i] << " " ;
} // Driver program int main()
{ int arr[] = { 5, 1, 3, 2, 4 };
int N = sizeof (arr) / sizeof (arr[0]);
updateArray(arr, N);
return 0;
} |
C
// C program to replace every element of the array // with the element that appears before it #include <stdio.h> // Function to print the array after replacing every element // of the array with the element that appears before it void updateArray( int arr[], int n)
{ // Update array
for ( int i = n - 1; i > 0; i--)
arr[i] = arr[i - 1];
// Change the first element to -1
arr[0] = -1;
// Print the updated array
for ( int i = 0; i < n; i++)
printf ( "%d " ,arr[i]);
} // Driver program int main()
{ int arr[] = { 5, 1, 3, 2, 4 };
int N = sizeof (arr) / sizeof (arr[0]);
updateArray(arr, N);
return 0;
} // This code is contributed by kothavvsaakash. |
Java
// Java program to replace every element // of the array with the element that // appears before it class GFG
{ // Function to print the array after // replacing every element of the // array with the element that appears // before it static void updateArray( int arr[], int n)
{ // Update array
for ( int i = n - 1 ; i > 0 ; i--)
arr[i] = arr[i - 1 ];
// Change the first element to -1
arr[ 0 ] = - 1 ;
// Print the updated array
for ( int i = 0 ; i < n; i++)
System.out.print(arr[i] + " " );
} // Driver Code public static void main(String []args)
{ int arr[] = { 5 , 1 , 3 , 2 , 4 } ;
int N = arr.length ;
updateArray(arr, N);
} } // This code is contributed by Ryuga |
Python3
# Python 3 program to replace every element # of the array with the element that appears # before it # Function to print the array after replacing # every element of the array with the element # that appears before it def updateArray(arr, n):
# Update array
i = n - 1
while (i > 0 ):
arr[i] = arr[i - 1 ]
i - = 1
# Change the first element to -1
arr[ 0 ] = - 1
# Print the updated array
for i in range ( 0 , n, 1 ):
print (arr[i], end = " " )
# Driver Code if __name__ = = '__main__' :
arr = [ 5 , 1 , 3 , 2 , 4 ]
N = len (arr)
updateArray(arr, N)
# This code is contributed by # Surendra_Gangwar |
C#
// C# program to replace every element // of the array with the element that // appears before it using System;
class GFG
{ // Function to print the array after // replacing every element of the // array with the element that appears // before it static void updateArray( int [] arr, int n)
{ // Update array
for ( int i = n - 1; i > 0; i--)
arr[i] = arr[i - 1];
// Change the first element to -1
arr[0] = -1;
// Print the updated array
for ( int i = 0; i < n; i++)
Console.Write(arr[i] + " " );
} // Driver Code public static void Main()
{ int [] arr = { 5, 1, 3, 2, 4 } ;
int N = arr.Length ;
updateArray(arr, N);
} } // This code is contributed // by Akanksha Rai |
PHP
<?php // PHP program to replace every element // of the array with the element that // appears before it // Function to print the array after // replacing every element of the array // with the element that appears before it function updateArray( $arr , $n )
{ // Update array
for ( $i = $n - 1; $i > 0; $i --)
$arr [ $i ] = $arr [ $i - 1];
// Change the first element to -1
$arr [0] = -1;
// Print the updated array
for ( $i = 0; $i < $n ; $i ++)
echo $arr [ $i ] , " " ;
} // Driver Code $arr = array (5, 1, 3, 2, 4 );
$N = sizeof( $arr );
updateArray( $arr , $N );
// This code is contributed // by Sach_Code ?> |
Javascript
<script> // Java script program to replace every element // of the array with the element that // appears before it // Function to print the array after // replacing every element of the // array with the element that appears // before it function updateArray(arr,n)
{ // Update array
for (let i = n - 1; i > 0; i--)
arr[i] = arr[i - 1];
// Change the first element to -1
arr[0] = -1;
// Print the updated array
for (let i = 0; i < n; i++)
document.write(arr[i] + " " );
} // Driver Code let arr =[ 5, 1, 3, 2, 4 ];
let N = arr.length ;
updateArray(arr, N);
// This code is contributed by sravan kumar G </script> |
Output
-1 5 1 3 2
Complexity Analysis:
- Time Complexity: O(n)
- Auxiliary Space: O(1)