数组的范围和范围系数
给定一个整数元素数组arr ,任务是找到给定数组的范围和范围系数,其中:
范围:分布中最大值和最小值之间的差值。
范围系数: (Max – Min) / (Max + Min)。
例子:
Input: arr[] = {15, 16, 10, 9, 6, 7, 17}
Output: Range : 11
Coefficient of Range : 0.478261
Max = 17, Min = 6
Range = Max – Min = 17 – 6 = 11
Coefficient of Range = (Max – Min) / (Max + Min) = 11 / 23 = 0.478261
Input: arr[] = {5, 10, 15}
Output: Range : 10
Coefficient of Range : 0.5
方法:从给定数组中找到最大和最小元素,计算范围和范围系数如下:
- 范围 = 最大值 – 最小值
- 范围系数 = (Max – Min) / (Max + Min)
下面是上述方法的实现:
C++
// C++ implementation to find
// Range and coefficient of range
#include
#include
using namespace std;
// Function to return the minimum element from the array
float getMin(float arr[], int n)
{
float res = arr[0];
for (int i = 1; i < n; i++)
res = min(res, arr[i]);
return res;
}
// Function to return the maximum element from the array
float getMax(float arr[], int n)
{
float res = arr[0];
for (int i = 1; i < n; i++)
res = max(res, arr[i]);
return res;
}
// Function to print the Range and
// Coefficient of Range in the given array
void findRangeAndCoefficient(float arr[], int n)
{
float max = getMax(arr, n);
float min = getMin(arr, n);
float range = max - min;
float coeffOfRange = range / (max + min);
cout << "Range : " << range << endl;
cout << "Coefficient of Range : " << coeffOfRange;
}
// Driver code
int main()
{
float arr[] = { 5, 10, 15 };
int n = sizeof(arr) / sizeof(arr[0]);
findRangeAndCoefficient(arr, n);
return 0;
}
Java
// Java implementation to find
// Range and coefficient of range
import java.io.*;
class GFG {
// Function to return the minimum element from the array
static float getMin(float arr[], int n)
{
float res = arr[0];
for (int i = 1; i < n; i++)
res = Math.min(res, arr[i]);
return res;
}
// Function to return the maximum element from the array
static float getMax(float arr[], int n)
{
float res = arr[0];
for (int i = 1; i < n; i++)
res = Math.max(res, arr[i]);
return res;
}
// Function to print the Range and
// Coefficient of Range in the given array
static void findRangeAndCoefficient(float arr[], int n)
{
float max = getMax(arr, n);
float min = getMin(arr, n);
float range = max - min;
float coeffOfRange = range / (max + min);
System.out.println("Range : " + range );
System.out.println("Coefficient of Range : " + coeffOfRange);
}
// Driver code
public static void main (String[] args) {
float arr[] = { 5, 10, 15 };
int n = arr.length;
findRangeAndCoefficient(arr, n);
}
}
Python3
# Python 3 implementation to find
# Range and coefficient of range
# Function to return the minimum
# element from the array
def getMin(arr, n):
res = arr[0]
for i in range(1, n, 1):
res = min(res, arr[i])
return res
# Function to return the maximum
# element from the array
def getMax(arr, n):
res = arr[0]
for i in range(1, n, 1):
res = max(res, arr[i])
return res
# Function to print the Range and
# Coefficient of Range in the given array
def findRangeAndCoefficient(arr, n):
max = getMax(arr, n)
min = getMin(arr, n)
range = max - min
coeffOfRange = range / (max + min)
print("Range :", range)
print("Coefficient of Range :", coeffOfRange)
# Driver code
if __name__ == '__main__':
arr = [5, 10, 15]
n = len(arr)
findRangeAndCoefficient(arr, n)
# This code is contributed by
# Surendra_Gangwar
C#
// C# implementation to find
// Range and coefficient of range
using System;
public class GFG{
// Function to return the minimum element from the array
static float getMin(float []arr, int n)
{
float res = arr[0];
for (int i = 1; i < n; i++)
res = Math.Min(res, arr[i]);
return res;
}
// Function to return the maximum element from the array
static float getMax(float []arr, int n)
{
float res = arr[0];
for (int i = 1; i < n; i++)
res = Math.Max(res, arr[i]);
return res;
}
// Function to print the Range and
// Coefficient of Range in the given array
static void findRangeAndCoefficient(float []arr, int n)
{
float max = getMax(arr, n);
float min = getMin(arr, n);
float range = max - min;
float coeffOfRange = range / (max + min);
Console.WriteLine ("Range : " + range );
Console.WriteLine ("Coefficient of Range : " + coeffOfRange);
}
// Driver code
static public void Main (){
float []arr = { 5, 10, 15 };
int n = arr.Length;
findRangeAndCoefficient(arr, n);
}
//This code is contributed by akt_mit.
}
PHP
Javascript
输出:
Range : 10
Coefficient of Range : 0.5
时间复杂度: O(n)
辅助空间:O(1)