Encuentre la diferencia mínima entre dos elementos

Dada una array no ordenada, encuentre la diferencia mínima entre cualquier par en la array dada.
Ejemplos:

Input  : {1, 5, 3, 19, 18, 25};
Output : 1
Minimum difference is between 18 and 19

Input  : {30, 5, 20, 9};
Output : 4
Minimum difference is between 5 and 9

Input  : {1, 19, -4, 31, 38, 25, 100};
Output : 5
Minimum difference is between 1 and -4

Método 1 (Simple: O(n 2 ): Una solución simple es usar dos bucles. 

C++

// C++ implementation of simple method to find
// minimum difference between any pair
#include <bits/stdc++.h>
using namespace std;
 
// Returns minimum difference between any pair
int findMinDiff(int arr[], int n)
{
// Initialize difference as infinite
int diff = INT_MAX;
 
// Find the min diff by comparing difference
// of all possible pairs in given array
for (int i=0; i<n-1; i++)
    for (int j=i+1; j<n; j++)
        if (abs(arr[i] - arr[j]) < diff)
                diff = abs(arr[i] - arr[j]);
 
// Return min diff
return diff;
}
 
// Driver code
int main()
{
int arr[] = {1, 5, 3, 19, 18, 25};
int n = sizeof(arr)/sizeof(arr[0]);
cout << "Minimum difference is " << findMinDiff(arr, n);
return 0;
}

Java

// Java implementation of simple method to find
// minimum difference between any pair
 
class GFG
{
    // Returns minimum difference between any pair
    static int findMinDiff(int[] arr, int n)
    {
        // Initialize difference as infinite
        int diff = Integer.MAX_VALUE;
     
        // Find the min diff by comparing difference
        // of all possible pairs in given array
        for (int i=0; i<n-1; i++)
            for (int j=i+1; j<n; j++)
                if (Math.abs((arr[i] - arr[j]) )< diff)
                    diff = Math.abs((arr[i] - arr[j]));
     
        // Return min diff   
        return diff;
    }
 
    // Driver method to test the above function
    public static void main(String[] args)
    {
        int arr[] = new int[]{1, 5, 3, 19, 18, 25};
        System.out.println("Minimum difference is "+
                              findMinDiff(arr, arr.length));
     
    }
}

Python3

# Python implementation of simple method to find
# minimum difference between any pair
 
# Returns minimum difference between any pair
def findMinDiff(arr, n):
    # Initialize difference as infinite
    diff = 10**20
     
    # Find the min diff by comparing difference
    # of all possible pairs in given array
    for i in range(n-1):
        for j in range(i+1,n):
            if abs(arr[i]-arr[j]) < diff:
                diff = abs(arr[i] - arr[j])
 
    # Return min diff
    return diff
 
# Driver code
arr = [1, 5, 3, 19, 18, 25]
n = len(arr)
print("Minimum difference is " + str(findMinDiff(arr, n)))
 
# This code is contributed by Pratik Chhajer

C#

// C# implementation of simple method to find
// minimum difference between any pair
using System;
 
class GFG {
     
    // Returns minimum difference between any pair
    static int findMinDiff(int []arr, int n)
    {
         
        // Initialize difference as infinite
        int diff = int.MaxValue;
     
        // Find the min diff by comparing difference
        // of all possible pairs in given array
        for (int i = 0; i < n-1; i++)
            for (int j = i+1; j < n; j++)
                if (Math.Abs((arr[i] - arr[j]) ) < diff)
                    diff = Math.Abs((arr[i] - arr[j]));
     
        // Return min diff
        return diff;
    }
 
    // Driver method to test the above function
    public static void Main()
    {
        int []arr = new int[]{1, 5, 3, 19, 18, 25};
        Console.Write("Minimum difference is " +
                        findMinDiff(arr, arr.Length));
    }
}
 
// This code is contributed by nitin mittal.

PHP

<?php
// PHP implementation of simple
// method to find minimum
// difference between any pair
 
// Returns minimum difference
// between any pair
function findMinDiff($arr, $n)
{
// Initialize difference
// as infinite
$diff = PHP_INT_MAX;
 
// Find the min diff by comparing
// difference of all possible
// pairs in given array
for ($i = 0; $i < $n - 1; $i++)
    for ($j = $i + 1; $j < $n; $j++)
        if (abs($arr[$i] - $arr[$j]) < $diff)
                $diff = abs($arr[$i] - $arr[$j]);
 
// Return min diff
return $diff;
}
 
// Driver code
$arr = array(1, 5, 3, 19, 18, 25);
$n = sizeof($arr);
echo "Minimum difference is " ,
         findMinDiff($arr, $n);
 
// This code is contributed by ajit
?>

Javascript

<script>
 
// JavaScript program implementation of simple method to find
// minimum difference between any pair
 
    // Returns minimum difference between any pair
    function findMinDiff( arr, n)
    {
        // Initialize difference as infinite
        let diff = Number.MAX_VALUE;
       
        // Find the min diff by comparing difference
        // of all possible pairs in given array
        for (let i=0; i<n-1; i++)
            for (let j=i+1; j<n; j++)
                if (Math.abs((arr[i] - arr[j]) )< diff)
                    diff = Math.abs((arr[i] - arr[j]));
       
        // Return min diff   
        return diff;
    }
 
// Driver Code
 
        let arr = [1, 5, 3, 19, 18, 25];
        document.write("Minimum difference is "+
                              findMinDiff(arr, arr.length));
 
</script>

C++

// C++ program to find minimum difference between
// any pair in an unsorted array
#include <bits/stdc++.h>
using namespace std;
 
// Returns minimum difference between any pair
int findMinDiff(int arr[], int n)
{
   // Sort array in non-decreasing order
   sort(arr, arr+n);
 
   // Initialize difference as infinite
   int diff = INT_MAX;
 
   // Find the min diff by comparing adjacent
   // pairs in sorted array
   for (int i=0; i<n-1; i++)
      if (arr[i+1] - arr[i] < diff)
          diff = arr[i+1] - arr[i];
 
   // Return min diff
   return diff;
}
 
// Driver code
int main()
{
   int arr[] = {1, 5, 3, 19, 18, 25};
   int n = sizeof(arr)/sizeof(arr[0]);
   cout << "Minimum difference is " << findMinDiff(arr, n);
   return 0;
}

Java

// Java program to find minimum difference between
// any pair in an unsorted array
 
import java.util.Arrays;
 
class GFG
{
    // Returns minimum difference between any pair
    static int findMinDiff(int[] arr, int n)
    {
           // Sort array in non-decreasing order
           Arrays.sort(arr);
          
           // Initialize difference as infinite
           int diff = Integer.MAX_VALUE;
          
           // Find the min diff by comparing adjacent
           // pairs in sorted array
           for (int i=0; i<n-1; i++)
              if (arr[i+1] - arr[i] < diff)
                  diff = arr[i+1] - arr[i];
          
           // Return min diff
           return diff;
    }
 
    // Driver method to test the above function
    public static void main(String[] args)
    {
        int arr[] = new int[]{1, 5, 3, 19, 18, 25};
        System.out.println("Minimum difference is "+
                              findMinDiff(arr, arr.length));
     
    }
}

Python3

# Python program to find minimum difference between
# any pair in an unsorted array
 
# Returns minimum difference between any pair
def findMinDiff(arr, n):
 
    # Sort array in non-decreasing order
    arr = sorted(arr)
 
    # Initialize difference as infinite
    diff = 10**20
 
    # Find the min diff by comparing adjacent
    # pairs in sorted array
    for i in range(n-1):
        if arr[i+1] - arr[i] < diff:
            diff = arr[i+1] - arr[i]
 
    # Return min diff
    return diff
 
# Driver code
arr = [1, 5, 3, 19, 18, 25]
n = len(arr)
print("Minimum difference is " + str(findMinDiff(arr, n)))
 
# This code is contributed by Pratik Chhajer

C#

// C# program to find minimum
// difference between any pair
// in an unsorted array
using System;
 
class GFG
{
    // Returns minimum difference
    // between any pair
    static int findMinDiff(int[] arr,
                           int n)
    {
        // Sort array in
        // non-decreasing order
        Array.Sort(arr);
         
        // Initialize difference
        // as infinite
        int diff = int.MaxValue;
         
        // Find the min diff by
        // comparing adjacent pairs
        // in sorted array
        for (int i = 0; i < n - 1; i++)
            if (arr[i + 1] - arr[i] < diff)
                diff = arr[i + 1] - arr[i];
         
        // Return min diff
        return diff;
    }
 
    // Driver Code
    public static void Main()
    {
        int []arr = new int[]{1, 5, 3, 19, 18, 25};
        Console.WriteLine("Minimum difference is " +
                           findMinDiff(arr, arr.Length));
     
    }
}
 
//This code is contributed by anuj_67.

PHP

<?php
// PHP program to find minimum
// difference between any pair
// in an unsorted array
 
// Returns minimum difference
// between any pair
function findMinDiff($arr, $n)
{
     
// Sort array in
// non-decreasing order
sort($arr);
 
// Initialize difference
// as infinite
$diff = PHP_INT_MAX;
 
// Find the min diff by
// comparing adjacent
// pairs in sorted array
for ($i = 0; $i < $n - 1; $i++)
    if ($arr[$i + 1] - $arr[$i] < $diff)
        $diff = $arr[$i + 1] - $arr[$i];
 
// Return min diff
return $diff;
}
 
// Driver code
$arr = array(1, 5, 3, 19, 18, 25);
$n = sizeof($arr);
echo "Minimum difference is " ,
         findMinDiff($arr, $n);
 
// This code is contributed ajit
?>

Javascript

<script>
 
    // Javascript program to find minimum
    // difference between any pair
    // in an unsorted array
     
    // Returns minimum difference
    // between any pair
    function findMinDiff(arr, n)
    {
        // Sort array in
        // non-decreasing order
        arr.sort(function(a, b)
        {return a - b});
          
        // Initialize difference
        // as infinite
        let diff = Number.MAX_VALUE;
          
        // Find the min diff by
        // comparing adjacent pairs
        // in sorted array
        for (let i = 0; i < n - 1; i++)
            if (arr[i + 1] - arr[i] < diff)
                diff = arr[i + 1] - arr[i];
          
        // Return min diff
        return diff;
    }
     
    let arr = [1, 5, 3, 19, 18, 25];
    document.write("Minimum difference is "
    + findMinDiff(arr, arr.length));
     
</script>

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *