Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Sum and Product of minimum and maximum element of an Array

  • Difficulty Level : Medium
  • Last Updated : 27 Oct, 2021

Given an array. The task is to find the sum and product of the maximum and minimum elements of the given array.
Examples
 

Input : arr[] = {12, 1234, 45, 67, 1}
Output : Sum = 1235
         Product = 1234

Input : arr[] = {5, 3, 6, 8, 4, 1, 2, 9}
Output : Sum = 10
         Product = 9

 

Take to variables min and max to store the minimum and maximum elements of the array. Find the minimum and the maximum element and store them in these variables respectively. Finally, print the sum and product of the minimum and maximum elements.
Below is the program to illustrate above approach:
 

C++




// CPP program to find the sum  and product
// of minimum and maximum element in an array
 
#include <iostream>
using namespace std;
 
// Function to find minimum element
int getMin(int arr[], int n)
{
    int res = arr[0];
    for (int i = 1; i < n; i++)
        res = min(res, arr[i]);
    return res;
}
 
// Function to find maximum element
int getMax(int arr[], int n)
{
    int res = arr[0];
    for (int i = 1; i < n; i++)
        res = max(res, arr[i]);
    return res;
}
 
// Function to get Sum
int findSum(int arr[], int n)
{
    int min = getMin(arr, n);
    int max = getMax(arr, n);
 
    return min + max;
}
 
// Function to get product
int findProduct(int arr[], int n)
{
    int min = getMin(arr, n);
    int max = getMax(arr, n);
 
    return min * max;
}
 
// Driver Code
int main()
{
    int arr[] = { 12, 1234, 45, 67, 1 };
    int n = sizeof(arr) / sizeof(arr[0]);
 
    // Sum of min and max element
    cout << "Sum = " << findSum(arr, n) << endl;
 
    // Product of min and max element
    cout << "Product = " << findProduct(arr, n);
 
    return 0;
}

Java




// Java  program to find the sum and product
// of minimum and maximum element in an array
 
import java.io.*;
 
class GFG {
     
    // Function to find minimum element
static int getMin(int arr[], int n)
{
    int res = arr[0];
    for (int i = 1; i < n; i++)
        res = Math.min(res, arr[i]);
    return res;
}
 
// Function to find maximum element
static int getMax(int arr[], int n)
{
    int res = arr[0];
    for (int i = 1; i < n; i++)
        res = Math.max(res, arr[i]);
    return res;
}
 
// Function to get Sum
static int findSum(int arr[], int n)
{
    int min = getMin(arr, n);
    int max = getMax(arr, n);
 
    return min + max;
}
 
// Function to get product
static int findProduct(int arr[], int n)
{
    int min = getMin(arr, n);
    int max = getMax(arr, n);
 
    return min * max;
}
 
// Driver Code
     
    public static void main (String[] args) {
    int arr[] = { 12, 1234, 45, 67, 1 };
    int n = arr.length;
 
    // Sum of min and max element
        System.out.println ("Sum = " + findSum(arr, n));
 
    // Product of min and max element
        System.out.println( "Product = " + findProduct(arr, n));
 
         
         
    }
}
//This Code is contributed by anuj_67....

Python 3




# Python 3 program to find the sum and product
# of minimum and maximum element in an array
 
# Function to find minimum element
def getMin(arr, n):
    res = arr[0]
    for i in range(1, n):
        res = min(res, arr[i])
    return res
 
# Function to find maximum element
def getMax(arr, n):
    res = arr[0]
    for i in range(1, n):
        res = max(res, arr[i])
    return res
 
# Function to get Sum
def findSum(arr, n):
    min = getMin(arr, n)
    max = getMax(arr, n)
 
    return min + max
 
# Function to get product
def findProduct(arr, n):
    min = getMin(arr, n)
    max = getMax(arr, n)
 
    return min * max
 
# Driver Code
if __name__ == "__main__":
     
    arr = [ 12, 1234, 45, 67, 1 ]
    n = len(arr)
 
    # Sum of min and max element
    print("Sum = " , findSum(arr, n))
 
    # Product of min and max element
    print("Product = " , findProduct(arr, n))
 
# This code is contributed
# by ChitraNayal

C#




// C# program to find the sum and product
// of minimum and maximum element in an array
using System;
 
class GFG {
     
// Function to find minimum element
static int getMin(int []arr, int n)
{
    int res = arr[0];
    for (int i = 1; i < n; i++)
        res = Math.Min(res, arr[i]);
    return res;
}
 
// Function to find maximum element
static int getMax(int []arr, int n)
{
    int res = arr[0];
    for (int i = 1; i < n; i++)
        res = Math.Max(res, arr[i]);
    return res;
}
 
// Function to get Sum
static int findSum(int []arr, int n)
{
    int min = getMin(arr, n);
    int max = getMax(arr, n);
 
    return min + max;
}
 
// Function to get product
static int findProduct(int []arr, int n)
{
    int min = getMin(arr, n);
    int max = getMax(arr, n);
 
    return min * max;
}
 
    // Driver Code
    public static void Main()
    {
        int []arr = { 12, 1234, 45, 67, 1 };
        int n = arr.Length;
     
        // Sum of min and max element
        Console.WriteLine("Sum = " + findSum(arr, n));
 
        // Product of min and max element
        Console.WriteLine( "Product = " + findProduct(arr, n));
    }
}
 
// This Code is contributed by anuj_67....

PHP




<?php
// PHP program to find the sum and product
// of minimum and maximum element in an array
 
// Function to find minimum element
function getMin($arr, $n)
{
    $res = $arr[0];
    for ($i = 1; $i < $n; $i++)
        $res = min($res, $arr[$i]);
    return $res;
}
 
// Function to find maximum element
function getMax($arr, $n)
{
    $res = $arr[0];
    for ($i = 1; $i < $n; $i++)
        $res = max($res, $arr[$i]);
    return $res;
}
 
// Function to get Sum
function findSum($arr, $n)
{
    $min = getMin($arr, $n);
    $max = getMax($arr, $n);
 
    return $min + $max;
}
 
// Function to get product
function findProduct($arr, $n)
{
    $min = getMin($arr, $n);
    $max = getMax($arr, $n);
 
    return $min * $max;
}
 
// Driver Code
$arr = array(12, 1234, 45, 67, 1);
$n = sizeof($arr);
 
// Sum of min and max element
echo "Sum = " . findSum($arr, $n) . "\n";
 
// Product of min and max element
echo "Product = " . findProduct($arr, $n);
 
// This code is contributed
// by Akanksha Rai

Javascript




<script>
 
// JavaScript  program to find the sum and product
// of minimum and maximum element in an array
 
// Function to find minimum element
function getMin(arr,n)
{
    let res = arr[0];
    for (let i = 1; i < n; i++)
        res = Math.min(res, arr[i]);
    return res;
}
 
// Function to find maximum element
function getMax(arr,n)
{
    let res = arr[0];
    for (let i = 1; i < n; i++)
        res = Math.max(res, arr[i]);
    return res;
}
 
// Function to get Sum
function findSum(arr,n)
{
    let min = getMin(arr, n);
    let max = getMax(arr, n);
   
    return min + max;
}
 
// Function to get product
function findProduct(arr,n)
{
    let min = getMin(arr, n);
    let max = getMax(arr, n);
   
    return min * max;
}
 
// Driver Code
let arr=[12, 1234, 45, 67, 1];
 
let n = arr.length;
// Sum of min and max element
document.write ("Sum = " + findSum(arr, n)+"<br>");
 
// Product of min and max element
document.write( "Product = " + findProduct(arr, n)+"<br>");
     
     
     
 
// This code is contributed by avanitrachhadiya2155
 
</script>
Output
Sum = 1235
Product = 1234

Optimizations 

We can use a single loop to find both maximum and minimum. This would require only one traversal of array.
 

Another Solution In C++, there are direct function to find maximum and minimum : max_element() and min_element()

Code:

C++14




// CPP program to find the sum  and product
// of minimum and maximum element in an array
 
#include <bits/stdc++.h>
using namespace std;
// Driver Code
int main()
{
    int arr[] = { 12, 1234, 45, 67, 1 };
    int n = sizeof(arr) / sizeof(arr[0]);
    int *i1, *i2;
    // Find the maximum Element
    i1 = std::max_element(arr, arr + n);
    // Find the minimum Element
    i2 = std::min_element(arr, arr + n);
    // Sum of min and max element
    cout << "Sum = " << *i1 + *i2 << endl;
    // Product of min and max element
    cout << "Product = " << (*i1) * (*i2);
 
    return 0;
}
Output
Sum = 1235
Product = 1234

 

Another Solution: Using STL

An alternate solution can be using the sort() to find the minimum and maximum number in the array, which we can then use to find the sum and product. 

C++




#include <bits/stdc++.h>
using namespace std;
 
// Function to get sum
int findSum(int minEle, int maxEle)
{
    return minEle + maxEle;
}
 
// Function to get product
int findProduct(int minEle, int maxEle)
{
    return minEle * maxEle;
}
 
// Driver Code
int main()
{
    int arr[] = { 12, 1234, 45, 67, 1 };
    int n = sizeof(arr) / sizeof(arr[0]);
   
    // sorting the array
    sort(arr, arr+n);
  
    // min element would be the element at 0th index
    //of array after sorting
    int minEle = arr[0];
     
    // max element would be the element at (n-1)th index
    // of array after sorting
    int maxEle = arr[n-1];
     
    cout << "Sum = " << findSum(minEle, maxEle) << endl;
    cout << "Product = " << findProduct(minEle, maxEle);
  
    return 0;
}

Java




// Java program for the above approach
import java.io.*;
import java.util.Arrays;
class GFG {
 
// Function to get sum
static int findSum(int minEle, int maxEle)
{
    return minEle + maxEle;
}
 
// Function to get product
static int findProduct(int minEle, int maxEle)
{
    return minEle * maxEle;
}
 
// Driver code
public static void main (String[] args)
{
    int[] arr = { 12, 1234, 45, 67, 1 };
    int n = arr.length;
   
    // sorting the array
    Arrays.sort(arr);
  
    // min element would be the element at 0th index
    //of array after sorting
    int minEle = arr[0];
     
    // max element would be the element at (n-1)th index
    // of array after sorting
    int maxEle = arr[n-1];
     
    System.out.println("Sum = " + findSum(minEle, maxEle));
    System.out.println("Product = " + findProduct(minEle, maxEle));
}
}
 
// This code is contributed by shivanisinghss2110

C#




// C# program for the above approach
using System;
class GFG {
 
// Function to get sum
static int findSum(int minEle, int maxEle)
{
    return minEle + maxEle;
}
 
// Function to get product
static int findProduct(int minEle, int maxEle)
{
    return minEle * maxEle;
}
 
// Driver code
public static void Main()
{
    int[] arr = { 12, 1234, 45, 67, 1 };
    int n = arr.Length;
   
    // sorting the array
    Array.Sort(arr);
  
    // min element would be the element at 0th index
    //of array after sorting
    int minEle = arr[0];
     
    // max element would be the element at (n-1)th index
    // of array after sorting
    int maxEle = arr[n-1];
     
    Console.WriteLine("Sum = " + findSum(minEle, maxEle));
    Console.WriteLine("Product = " + findProduct(minEle, maxEle));
}
}
 
// This code is contributed by target_2.
Output
Sum = 1235
Product = 1234


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!