forked from jainaman224/Algo_Ds_Notes
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
4e9709b
commit 7e817a6
Showing
4 changed files
with
82 additions
and
88 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
/*Given an integer array A of size N, find and return | ||
the minimum absolute difference between any two elements in the array. | ||
The absolute difference between two elements ai, and aj (where i != j ) is |ai - aj|*/ | ||
|
||
#include <stdio.h> | ||
#include<stdlib.h> | ||
#include<limits.h> | ||
|
||
int cmpfunc (const void * a, const void * b) | ||
{ | ||
return ( *(int*)a - *(int*)b ); | ||
} | ||
|
||
int minAbsoluteDiff(int arr[], int n) | ||
{ | ||
qsort(arr, n, sizeof(int), cmpfunc); | ||
int mindiff = INT_MAX; | ||
for(int i=0;i<n-1;i++) | ||
{ | ||
if(abs(arr[i] - arr[i+1]) < mindiff) | ||
mindiff = abs(arr[i] - arr[i+1]); | ||
} | ||
return mindiff; | ||
} | ||
|
||
int main() | ||
{ | ||
int size,i; | ||
scanf("%d",&size); | ||
int input[size]; | ||
|
||
for(i = 0; i < size; i++) | ||
scanf("%d", &input[i]); | ||
|
||
printf("%d",minAbsoluteDiff(input,size)); | ||
|
||
return 0; | ||
} | ||
|
||
/* Input : 12 | ||
922 192 651 200 865 174 798 481 510 863 150 520 | ||
Output : 2 | ||
*/ |
38 changes: 38 additions & 0 deletions
38
Minimum_ Absolute_Difference_In_Array/MinAbsolute_Diff.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
/*Given an integer array A of size N,find and return | ||
the minimum absolute difference between any two elements in the array. | ||
The absolute difference between two elements ai, and aj (where i != j ) is |ai - aj|*/ | ||
|
||
#include<bits/stdc++.h> | ||
#include <iostream> | ||
#include<algorithm> | ||
using namespace std; | ||
|
||
int minAbsoluteDiff(int arr[], int n) | ||
{ | ||
std::sort(arr, arr+n); | ||
int mindiff = INT_MAX; | ||
for(int i=0; i<n-1; i++) | ||
{ | ||
if(abs(arr[i] - arr[i+1]) < mindiff) | ||
mindiff = abs(arr[i] - arr[i+1]); | ||
} | ||
return mindiff; | ||
} | ||
|
||
int main() | ||
{ | ||
int size; | ||
cin >> size; | ||
int *input = new int[1 + size]; | ||
|
||
for(int i = 0; i < size; i++) | ||
cin >> input[i]; | ||
cout << minAbsoluteDiff(input, size) << endl; | ||
return 0; | ||
} | ||
|
||
/* Input : 5 | ||
2 9 0 4 5 | ||
Output : 1 | ||
*/ |