📜  数组中最小的对和

📅  最后修改于: 2021-04-25 00:45:52             🧑  作者: Mango

给定一个由不同整数arr []组成的数组,任务是找到一个具有最小和的对,并打印该和。

例子:

方法:

  • 从数组中找到最小元素,并将其存储在min中
  • 从数组中找到第二个最小元素,并将其存储在secondMin中
  • 打印min + secondMin

下面是上述方法的实现:

C++
// C++ program to print the sum of the minimum pair
#include 
using namespace std;
  
// Function to return the sum of
// the minimum pair from the array
int smallest_pair(int a[], int n)
{
    int min = INT_MAX, secondMin = INT_MAX;
    for (int j = 0; j < n; j++) {
  
        // If found new minimum
        if (a[j] < min) {
  
            // Minimum now becomes second minimum
            secondMin = min;
  
            // Update minimum
            min = a[j];
        }
  
        // If current element is > min and < secondMin
        else if ((a[j] < secondMin) && a[j] != min)
  
            // Update secondMin
            secondMin = a[j];
    }
  
    // Return the sum of the minimum pair
    return (secondMin + min);
}
  
// Driver code
int main()
{
    int arr[] = { 1, 2, 3 };
    int n = sizeof(arr) / sizeof(arr[0]);
  
    cout << smallest_pair(arr, n);
  
    return 0;
}


Java
// Java program to print the sum 
// of the minimum pair
import java .io.*;
  
class GFG
{
// Function to return the sum of
// the minimum pair from the array
static int smallest_pair(int[] a, int n)
{
    int min =  Integer.MAX_VALUE, secondMin =  Integer.MAX_VALUE;
    for (int j = 0; j < n; j++) 
    {
  
        // If found new minimum
        if (a[j] < min)
        {
  
            // Minimum now becomes second minimum
            secondMin = min;
  
            // Update minimum
            min = a[j];
        }
  
        // If current element is > min and < secondMin
        else if ((a[j] < secondMin) && a[j] != min)
  
            // Update secondMin
            secondMin = a[j];
    }
  
    // Return the sum of the minimum pair
    return (secondMin + min);
}
  
// Driver code
public static void main(String[] args)
{
    int[] arr = { 1, 2, 3 };
    int n = arr.length;
  
    System.out.println(smallest_pair(arr, n));
}
}
  
// This code is contributed 
// by inder_verma


Python3
# Python3 program to print the 
# sum of the minimum pair 
import sys
  
# Function to return the sum of 
# the minimum pair from the array 
def smallest_pair(a, n) :
      
    min = sys.maxsize
    secondMin = sys.maxsize
      
    for j in range(n) : 
  
        # If found new minimum 
        if (a[j] < min) :
  
            # Minimum now becomes 
            # second minimum 
            secondMin = min
  
            # Update minimum 
            min = a[j]
          
        # If current element is > min 
        # and < secondMin 
        elif ((a[j] < secondMin) and 
               a[j] != min) :
  
            # Update secondMin 
            secondMin = a[j] 
      
    # Return the sum of the minimum pair 
    return (secondMin + min)
  
# Driver code 
if __name__ == "__main__" : 
  
    arr = [ 1, 2, 3 ] 
    n = len(arr) 
  
    print(smallest_pair(arr, n)) 
  
# This code is contributed by Ryuga


C#
// C# program to print the sum 
// of the minimum pair
using System;
  
class GFG
{
// Function to return the sum of
// the minimum pair from the array
static int smallest_pair(int[] a, int n)
{
    int min = int.MaxValue, secondMin = int.MaxValue;
    for (int j = 0; j < n; j++) 
    {
  
        // If found new minimum
        if (a[j] < min)
        {
  
            // Minimum now becomes second minimum
            secondMin = min;
  
            // Update minimum
            min = a[j];
        }
  
        // If current element is > min and < secondMin
        else if ((a[j] < secondMin) && a[j] != min)
  
            // Update secondMin
            secondMin = a[j];
    }
  
    // Return the sum of the minimum pair
    return (secondMin + min);
}
  
// Driver code
public static void Main()
{
    int[] arr = { 1, 2, 3 };
    int n = arr.Length;
  
    Console.Write(smallest_pair(arr, n));
}
}
  
// This code is contributed 
// by Akanksha Rai


PHP
 min 
        // and < secondMin 
        else if (($a[$j] < $secondMin) &&
                  $a[$j] != $min) 
  
            // Update secondMin 
            $secondMin = $a[$j]; 
    } 
  
    // Return the sum of the minimum pair 
    return ($secondMin + $min); 
} 
  
// Driver code 
$arr = array( 1, 2, 3 ); 
$n = sizeof($arr); 
echo smallest_pair($arr, $n); 
  
// This code is contributed by ajit
?>


输出:
3