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