Dada una array arr[] de tamaño n , la tarea es reemplazar cada elemento de la array por la suma de los siguientes dos elementos consecutivos de manera circular , es decir, arr[0] = arr[1] + arr[2] , arr[ 1] = arr[2] + arr[3] , … arr[n – 1] = arr[0] + arr[1] .
Ejemplos:
Entrada: arr[] = {3, 4, 2, 1, 6}
Salida: 6 3 7 9 7
Entrada: arr[] = {5, 2, 1, 3, 8}
Salida: 3 4 11 13 7
Enfoque: almacene el primer y segundo elemento de la array en las variables first y second . Ahora, para cada elemento excepto el último y el penúltimo elemento de la array, actualice arr[i] = arr[i + 1] + arr[i + 2] . Luego actualice el último y el penúltimo elemento como arr[n – 2] = arr[n – 1] + first y arr[n – 1] = first + second .
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ implementation of the approach #include <bits/stdc++.h> using namespace std; // Utility function to print the // contents of an array void printArr(int arr[], int n) { for (int i = 0; i < n; i++) cout << arr[i] << " "; } // Function to update every element of // the array as the sum of next two elements void updateArr(int arr[], int n) { // Invalid array if (n < 3) return; // First and second elements of the array int first = arr[0]; int second = arr[1]; // Update every element as required // except the last and the // second last element for (int i = 0; i < n - 2; i++) arr[i] = arr[i + 1] + arr[i + 2]; // Update the last and the second // last element of the array arr[n - 2] = arr[n - 1] + first; arr[n - 1] = first + second; // Print the updated array printArr(arr, n); } // Driver code int main() { int arr[] = { 3, 4, 2, 1, 6 }; int n = sizeof(arr) / sizeof(arr[0]); updateArr(arr, n); return 0; }
Java
// Java implementation of the approach 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 every element of // the array as the sum of next two elements static void updateArr(int[] arr, int n) { // Invalid array if (n < 3) { return; } // First and second elements of the array int first = arr[0]; int second = arr[1]; // Update every element as required // except the last and the // second last element for (int i = 0; i < n - 2; i++) { arr[i] = arr[i + 1] + arr[i + 2]; } // Update the last and the second // last element of the array arr[n - 2] = arr[n - 1] + first; arr[n - 1] = first + second; // Print the updated array printArr(arr, n); } // Driver code public static void main(String[] args) { int[] arr = {3, 4, 2, 1, 6}; int n = arr.length; updateArr(arr, n); } } // This code is contributed by 29AjayKumar
Python3
# Python 3 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 every element of # the array as the sum of next two elements def updateArr(arr, n): # Invalid array if (n < 3): return # First and second elements of the array first = arr[0] second = arr[1] # Update every element as required # except the last and the # second last element for i in range(n - 2): arr[i] = arr[i + 1] + arr[i + 2] # Update the last and the second # last element of the array arr[n - 2] = arr[n - 1] + first arr[n - 1] = first + second # Print the updated array printArr(arr, n) # Driver code if __name__ == '__main__': arr = [3, 4, 2, 1, 6] n = len(arr) updateArr(arr, n) # This code is contributed by # Surendra_Gangwar
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 every element of // the array as the sum of next two elements static void updateArr(int []arr, int n) { // Invalid array if (n < 3) return; // First and second elements of the array int first = arr[0]; int second = arr[1]; // Update every element as required // except the last and the // second last element for (int i = 0; i < n - 2; i++) arr[i] = arr[i + 1] + arr[i + 2]; // Update the last and the second // last element of the array arr[n - 2] = arr[n - 1] + first; arr[n - 1] = first + second; // Print the updated array printArr(arr, n); } // Driver code public static void Main() { int []arr = { 3, 4, 2, 1, 6 }; int n = arr.Length; updateArr(arr, n); } } // This code is contributed // by Akanksha Rai
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 every element // of the array as the sum of next // two elements function updateArr($arr, $n) { // Invalid array if ($n < 3) return; // First and second elements // of the array $first = $arr[0]; $second = $arr[1]; // Update every element as required // except the last and the // second last element for ($i = 0; $i < ($n - 2); $i++) $arr[$i] = $arr[$i + 1] + $arr[$i + 2]; // Update the last and the second // last element of the array $arr[$n - 2] = $arr[$n - 1] + $first; $arr[$n - 1] = $first + $second; // Print the updated array printArr($arr, $n); } // Driver code $arr = array (3, 4, 2, 1, 6 ); $n = sizeof($arr); updateArr($arr, $n); // This code is contributed by ajit. ?>
Javascript
<script> // Javascript implementation of the approach // Utility function to print the // contents of an array function printArr( arr, n) { for (let i = 0; i < n; i++) document.write(arr[i] + " "); } // Function to update every element of // the array as the sum of next two elements function updateArr( arr, n) { // Invalid array if (n < 3) return; // First and second elements of the array let first = arr[0]; let second = arr[1]; // Update every element as required // except the last and the // second last element for (let i = 0; i < n - 2; i++) arr[i] = arr[i + 1] + arr[i + 2]; // Update the last and the second // last element of the array arr[n - 2] = arr[n - 1] + first; arr[n - 1] = first + second; // Print the updated array printArr(arr, n); } // driver code let arr = [ 3, 4, 2, 1, 6 ]; let n = arr.length; updateArr(arr, n); // This code is contributed by jana_sayantan. </script>
6 3 7 9 7
Publicación traducida automáticamente
Artículo escrito por avinash1605 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA