Replace the maximum element in the array by coefficient of range

Given an array arr[] of integer elements, the task is to replace the maximum element in the array by the coefficient of range of the same array.
Coefficient of Range: (Max – Min) / (Max + Min)
Examples:
Input: arr[] = {15, 16, 10, 9, 6, 7, 17}
Output: 15 16 10 9 6 7 0.478261
Max = 17, Min = 6
Coefficient of Range = (Max – Min) / (Max + Min) = 11 / 23 = 0.478261Input: arr[] = {5, 10, 15}
Output: 5 10 0.5
Approach: Find the maximum and minimum element from the given array and calculate the coefficient of range, coeff = (Max – Min) / (Max + Min) then replace maximum element with the coeff calculated. After the array has been updated, print the contents of the updated array.
Below is the implementation of the above approach:
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 arrayvoid 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 arrayvoid 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 codeint 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 rangeimport java.util.*;class GFG{// Utility function to print the // contents of the arraystatic 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 arraystatic 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 codepublic 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 rangeusing System;class GFG{// Utility function to print the // contents of the arraystatic 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 arraystatic 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 codepublic 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 arrayfunction 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 arrayfunction 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
Complexity Analysis:
- Time Complexity : O(n), since the loop runs from 0 to (n – 1).
- Auxiliary Space: O(1), since no extra space has been taken.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!



