Replace every element of the array by its previous element
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 2
Input: 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; } |
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 ?> |
-1 5 1 3 2
Time Complexity : O(n)
Recommended Posts:
- Replace every array element by Bitwise Xor of previous and next element
- Replace every array element by sum of previous and next
- Replace every array element by multiplication of previous and next
- Range Query on array whose each element is XOR of index value and previous element
- Replace each element by the difference of the total size of the array and frequency of that element
- Replace every element of the array by its next element
- Maximum element in an array such that its previous and next element product is maximum
- Elements greater than the previous and next element in an Array
- Generate an array having Bitwise AND of the previous and the next element
- Rearrange an array such that every odd indexed element is greater than it previous
- Replace elements with absolute difference of smallest element on left and largest element on right
- Replace every element with the greatest element on its left side
- Replace every element with the smallest element on its left side
- Replace every element of the array with BitWise XOR of all other
- Replace every element of the array by sum of all other elements
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



