Replace the odd positioned elements with their cubes and even positioned elements with their squares
Last Updated :
09 Dec, 2021
Given an array arr[] of n elements, the task is to replace all the odd positioned elements with their cubes and even positioned elements with their squares i.e. the resultant array must be {arr[0]3, arr[1]2, arr[2]3, arr[3]2, …}.
Examples:
Input: arr[]= {2, 3, 4, 5}
Output: 8 9 64 25
Updated array will be {23, 32, 43, 52} -> {8, 9, 64, 25}
Input: arr[] = {3, 4, 5, 2}
Output: 27 16 125 4
Approach: For any element of the array arr[i], it is odd positioned only if (i + 1) is odd as the indexing starts from 0. Now, traverse the array and replace all the odd positioned elements with their cubes and even positioned elements with their squares.
Below is the implementation of the above approach:
C++
#include <bits/stdc++.h>
using namespace std;
#define ll long long int
void printArr(ll arr[], int n)
{
for ( int i = 0; i < n; i++)
cout << arr[i] << " " ;
}
void updateArr(ll arr[], int n)
{
for ( int i = 0; i < n; i++) {
if ((i + 1) % 2 == 0)
arr[i] = (ll) pow (arr[i], 2);
else
arr[i] = (ll) pow (arr[i], 3);
}
printArr(arr, n);
}
int main()
{
ll arr[] = { 2, 3, 4, 5, 6 };
int n = sizeof (arr) / sizeof (arr[0]);
updateArr(arr, n);
return 0;
}
|
Java
import java.lang.Math;
class GFG
{
static void printArr( int arr[], int n)
{
for ( int i = 0 ; i < n; i++)
System.out.print(arr[i] + " " );
}
static void updateArr( int arr[], int n)
{
for ( int i = 0 ; i < n; i++)
{
if ((i + 1 ) % 2 == 0 )
arr[i] = ( int )Math.pow(arr[i], 2 );
else
arr[i] = ( int )Math.pow(arr[i], 3 );
}
printArr(arr, n);
}
public static void main(String[] args)
{
int arr[] = { 2 , 3 , 4 , 5 , 6 };
int n = arr.length;
updateArr(arr, n);
}
}
|
Python3
def printArr(arr,n):
for i in range (n):
print (arr[i], end = " " )
def updateArr(arr, n):
for i in range (n):
if ((i + 1 ) % 2 = = 0 ):
arr[i] = pow (arr[i], 2 )
else :
arr[i] = pow (arr[i], 3 )
printArr(arr, n)
arr = [ 2 , 3 , 4 , 5 , 6 ]
n = len (arr)
updateArr(arr, n)
|
C#
using System;
class GFG
{
static void printArr( int []arr, int n)
{
for ( int i = 0; i < n; i++)
Console.Write(arr[i] + " " );
}
static void updateArr( int []arr, int n)
{
for ( int i = 0; i < n; i++)
{
if ((i + 1) % 2 == 0)
arr[i] = ( int )Math.Pow(arr[i], 2);
else
arr[i] = ( int )Math.Pow(arr[i], 3);
}
printArr(arr, n);
}
public static void Main(String[] args)
{
int []arr = { 2, 3, 4, 5, 6 };
int n = arr.Length;
updateArr(arr, n);
}
}
|
PHP
<?php
function printArr( $arr , $n )
{
for ( $i = 0; $i < $n ; $i ++)
echo $arr [ $i ] . " " ;
}
function updateArr( $arr , $n )
{
for ( $i = 0; $i < $n ; $i ++)
{
if (( $i + 1) % 2 == 0)
$arr [ $i ] = pow( $arr [ $i ], 2);
else
$arr [ $i ] = pow( $arr [ $i ], 3);
}
printArr( $arr , $n );
}
$arr = array ( 2, 3, 4, 5, 6 );
$n = count ( $arr );
updateArr( $arr , $n );
?>
|
Javascript
<script>
function printArr(arr , n) {
for (i = 0; i < n; i++)
document.write(arr[i] + " " );
}
function updateArr(arr , n) {
for (i = 0; i < n; i++) {
if ((i + 1) % 2 == 0)
arr[i] = parseInt( Math.pow(arr[i], 2));
else
arr[i] = parseInt( Math.pow(arr[i], 3));
}
printArr(arr, n);
}
var arr = [ 2, 3, 4, 5, 6 ];
var n = arr.length;
updateArr(arr, n);
</script>
|
Time Complexity: O(n)
Auxiliary Space: O(1)
Share your thoughts in the comments
Please Login to comment...