给定一个数组arr ,任务是将数组的每个元素替换为出现在它前面的元素,并将第一个元素替换为-1 。
例子:
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
方法:将数组从n – 1遍历到1,并更新arr [i] = arr [i-1] 。最后,设置a [0] = -1并打印更新后的数组的内容。
下面是上述方法的实现:
C++
// C++ program to replace every element of the array
// with the element that appears before it
#include
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
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
输出:
-1 5 1 3 2
时间复杂度: O(n)
如果您希望与行业专家一起参加现场课程,请参阅《 Geeks现场课程》和《 Geeks现场课程美国》。