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++
// C++ implementation of the approach #include <bits/stdc++.h> using namespace std; #define ll long long int // Utility function to print // the contents of an array void printArr(ll arr[], int n) { for ( int i = 0; i < n; i++) cout << arr[i] << " " ; } // Function to update the array void updateArr(ll arr[], int n) { for ( int i = 0; i < n; i++) { // In case of even positioned element if ((i + 1) % 2 == 0) arr[i] = (ll) pow (arr[i], 2); // Odd positioned element else arr[i] = (ll) pow (arr[i], 3); } // Print the updated array printArr(arr, n); } // Driver code int main() { ll arr[] = { 2, 3, 4, 5, 6 }; int n = sizeof (arr) / sizeof (arr[0]); updateArr(arr, n); return 0; } |
Java
// Java implementation of the approach import java.lang.Math; class GFG { // Utility function to print // the contents of an array static void printArr( int arr[], int n) { for ( int i = 0 ; i < n; i++) System.out.print(arr[i] + " " ); } // Function to update the array static void updateArr( int arr[], int n) { for ( int i = 0 ; i < n; i++) { // In case of even positioned element if ((i + 1 ) % 2 == 0 ) arr[i] = ( int )Math.pow(arr[i], 2 ); // Odd positioned element else arr[i] = ( int )Math.pow(arr[i], 3 ); } // Print the updated array printArr(arr, n); } // Driver code public static void main(String[] args) { int arr[] = { 2 , 3 , 4 , 5 , 6 }; int n = arr.length; updateArr(arr, n); } } // This code is contributed // by Code_Mech. |
Python3
# Python3 implementation of the approach # Utility function to print # the contents of an array def printArr(arr,n): for i in range (n): print (arr[i], end = " " ) # Function to update the array def updateArr(arr, n): for i in range (n): # In case of even positioned element if ((i + 1 ) % 2 = = 0 ): arr[i] = pow (arr[i], 2 ) # Odd positioned element else : arr[i] = pow (arr[i], 3 ) # Print the updated array printArr(arr, n) # Driver code arr = [ 2 , 3 , 4 , 5 , 6 ] n = len (arr) updateArr(arr, n) # This code is contributed # by mohit kumar |
C#
// C# implementation of the approach using System; class GFG { // Utility function to print // the contents of an array static void printArr( int []arr, int n) { for ( int i = 0; i < n; i++) Console.Write(arr[i] + " " ); } // Function to update the array static void updateArr( int []arr, int n) { for ( int i = 0; i < n; i++) { // In case of even positioned element if ((i + 1) % 2 == 0) arr[i] = ( int )Math.Pow(arr[i], 2); // Odd positioned element else arr[i] = ( int )Math.Pow(arr[i], 3); } // Print the updated array printArr(arr, n); } // Driver code public static void Main(String[] args) { int []arr = { 2, 3, 4, 5, 6 }; int n = arr.Length; updateArr(arr, n); } } /* This code contributed by PrinciRaj1992 */ |
PHP
<?php // PHP implementation of the approach // Utility function to print // the contents of an array function printArr( $arr , $n ) { for ( $i = 0; $i < $n ; $i ++) echo $arr [ $i ] . " " ; } // Function to update the array function updateArr( $arr , $n ) { for ( $i = 0; $i < $n ; $i ++) { // In case of even positioned element if (( $i + 1) % 2 == 0) $arr [ $i ] = pow( $arr [ $i ], 2); // Odd positioned element else $arr [ $i ] = pow( $arr [ $i ], 3); } // Print the updated array printArr( $arr , $n ); } // Driver code $arr = array ( 2, 3, 4, 5, 6 ); $n = count ( $arr ); updateArr( $arr , $n ); // This code is contributed by mits ?> |
Javascript
<script> // javascript implementation of the approach // Utility function to print // the contents of an array function printArr(arr , n) { for (i = 0; i < n; i++) document.write(arr[i] + " " ); } // Function to update the array function updateArr(arr , n) { for (i = 0; i < n; i++) { // In case of even positioned element if ((i + 1) % 2 == 0) arr[i] = parseInt( Math.pow(arr[i], 2)); // Odd positioned element else arr[i] = parseInt( Math.pow(arr[i], 3)); } // Print the updated array printArr(arr, n); } // Driver code var arr = [ 2, 3, 4, 5, 6 ]; var n = arr.length; updateArr(arr, n); // This code contributed by gauravrajput1 </script> |
8 9 64 25 216
Time Complexity: O(n)
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!