Dada una array arr[] de elementos enteros, la tarea es reemplazar el elemento máximo en la array por el coeficiente de rango de la misma array.
Coeficiente de Rango: (Max – Min) / (Max + Min)
Ejemplos:
Entrada: arr[] = {15, 16, 10, 9, 6, 7, 17}
Salida: 15 16 10 9 6 7 0,478261
Max = 17, Min = 6
Coeficiente de rango = (Max – Min) / (Max + Mín.) = 11 / 23 = 0,478261Entrada: arr[] = {5, 10, 15}
Salida: 5 10 0,5
Enfoque: Encuentre el elemento máximo y mínimo de la array dada y calcule el coeficiente de rango, coeficiente = (Máx. – Mín.) / (Máx. + Mín.) , luego reemplace el elemento máximo con el coeficiente calculado. Después de actualizar la array, imprima el contenido de la array actualizada.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ implementation to replace maximum element // by coefficient of range #include <bits/stdc++.h> using namespace std; // Utility function to print the contents of the array void printArr(float arr[], int n) { for (int i = 0; i < n; i++) cout << arr[i] << " "; } // Function to replace the maximum element from the array // with the coefficient of range of the array void replaceMax(float arr[], int n) { // Maximum element from the array float max = *std::max_element(arr, arr + n); // Minimum element from the array float min = *std::min_element(arr, arr + n); // Calculate the coefficient of range for the array float range = max - min; float coeffOfRange = range / (max + min); // Assuming all the array elements are distinct // Replace the maximum element with // the coefficient of range of the array for (int i = 0; i < n; i++) { if (arr[i] == max) { arr[i] = coeffOfRange; break; } } // Print the updated array printArr(arr, n); } // Driver code int main() { float arr[] = { 15, 16, 10, 9, 6, 7, 17 }; int n = sizeof(arr) / sizeof(arr[0]); replaceMax(arr, n); return 0; }
Java
// Java implementation to replace maximum element // by coefficient of range import java.util.*; class GFG { // Utility function to print the // contents of the array static void printArr(float arr[], int n) { for (int i = 0; i < n; i++) System.out.print(arr[i] + " "); } // Function to replace the maximum // element from the array with the // coefficient of range of the array static void replaceMax(float arr[], int n) { // Maximum element from the array float max = arr[0]; for(int i = 0; i < n; i++) { if(arr[i] > max) max = arr[i]; } // Minimum element from the array float min = arr[0]; for(int i = 0; i < n; i++) { if(arr[i] < min) min = arr[i]; } // Calculate the coefficient of // range for the array float range = max - min; float coeffOfRange = range / (max + min); // Assuming all the array elements are distinct // Replace the maximum element with // the coefficient of range of the array for (int i = 0; i < n; i++) { if (arr[i] == max) { arr[i] = coeffOfRange; break; } } // Print the updated array printArr(arr, n); } // Driver code public static void main(String args[]) { float arr[] = { 15, 16, 10, 9, 6, 7, 17 }; int n = arr.length; replaceMax(arr, n); } } // This code is contributed by // Sahil_Shelangia
Python3
# Python3 implementation to replace # maximum element by coefficient of range # Utility function to print the # contents of the array def printArr(arr, n) : for i in range(n) : print(arr[i], end = " ") # Function to replace the maximum element # from the array with the coefficient of # range of the array def replaceMax(arr, n) : # Maximum element from the array max_element = max(arr) # Minimum element from the array min_element = min(arr) # Calculate the coefficient of # range for the array ranges = max_element - min_element coeffOfRange = ranges / (max_element + min_element) # Assuming all the array elements are # distinct. Replace the maximum element # with the coefficient of range of the array for i in range(n) : if (arr[i] == max_element) : arr[i] = coeffOfRange break # Print the updated array printArr(arr, n) # Driver code if __name__ == "__main__" : arr = [ 15, 16, 10, 9, 6, 7, 17 ] n = len(arr) replaceMax(arr, n) # This code is contributed by Ryuga
C#
// C# implementation to replace maximum element // by coefficient of range using System; class GFG { // Utility function to print the // contents of the array static void printArr(float []arr, int n) { for (int i = 0; i < n; i++) Console.Write(arr[i] + " "); } // Function to replace the maximum // element from the array with the // coefficient of range of the array static void replaceMax(float []arr, int n) { // Maximum element from the array float max = arr[0]; for(int i = 0; i < n; i++) { if(arr[i] > max) max = arr[i]; } // Minimum element from the array float min = arr[0]; for(int i = 0; i < n; i++) { if(arr[i] < min) min = arr[i]; } // Calculate the coefficient of // range for the array float range = max - min; float coeffOfRange = range / (max + min); // Assuming all the array elements are distinct // Replace the maximum element with // the coefficient of range of the array for (int i = 0; i < n; i++) { if (arr[i] == max) { arr[i] = coeffOfRange; break; } } // Print the updated array printArr(arr, n); } // Driver code public static void Main() { float []arr = { 15, 16, 10, 9, 6, 7, 17 }; int n = arr.Length; replaceMax(arr, n); } } // This code is contributed by // shs..
PHP
<?php // PHP implementation to replace maximum // element by coefficient of range // Utility function to print the // contents of the array function printArr($arr, $n) { for ($i = 0; $i < $n; $i++) echo $arr[$i] . " "; } // Function to replace the maximum element // from the array with the coefficient of // range of the array function replaceMax($arr, $n) { // Maximum element from the array $max = max($arr); // Minimum element from the array $min = min($arr); // Calculate the coefficient of // range for the array $range = $max - $min; $coeffOfRange = round($range / ($max + $min), 6); // Assuming all the array elements // are distinct. Replace the maximum // element with the coefficient of // range of the array for ($i = 0; $i < $n; $i++) { if ($arr[$i] == $max) { $arr[$i] = $coeffOfRange; break; } } // Print the updated array printArr($arr, $n); } // Driver code $arr = array( 15, 16, 10, 9, 6, 7, 17 ); $n = count($arr); replaceMax($arr, $n); // This code is contributed by mits ?>
Javascript
<script> // JavaScript implementation to // replace maximum element // by coefficient of range // Utility function to print the // contents of the array function printArr(arr, n) { for (let i = 0; i < n - 1; i++) document.write(arr[i] + " "); document.write(arr[n - 1].toFixed(6)); } // Function to replace the maximum // element from the array with the // coefficient of range of the array function replaceMax(arr, n) { // Maximum element from the array let max = arr[0]; for(let i = 0; i < n; i++) { if(arr[i] > max) max = arr[i]; } // Minimum element from the array let min = arr[0]; for(let i = 0; i < n; i++) { if(arr[i] < min) min = arr[i]; } // Calculate the coefficient of // range for the array let range = max - min; let coeffOfRange = range / (max + min); // Assuming all the array elements are distinct // Replace the maximum element with // the coefficient of range of the array for (let i = 0; i < n; i++) { if (arr[i] == max) { arr[i] = coeffOfRange; break; } } // Print the updated array printArr(arr, n); } let arr = [ 15, 16, 10, 9, 6, 7, 17 ]; let n = arr.length; replaceMax(arr, n); </script>
15 16 10 9 6 7 0.478261
Complejidad de tiempo: O(n), ya que el ciclo va de 0 a (n – 1).
Espacio Auxiliar : O(1), ya que no se ha tomado ningún espacio extra.
Publicación traducida automáticamente
Artículo escrito por VishalBachchas y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA