查找C ++中任何两个元素之间的最小差异
假设我们有一个由n个元素组成的数组,称为A。我们必须找到该数组中任何两个元素之间的最小差。假设A=[30,5,20,9],则结果将为4。这是元素5和9的最小距离。
为了解决这个问题,我们必须遵循以下步骤-
以非降序排列数组
将差异初始化为无穷大
比较排序数组中的所有相邻对,并跟踪最小对
示例
#include<iostream>
#include<algorithm>
using namespace std;
int getMinimumDifference(int a[], int n) {
sort(a, a+n);
int min_diff = INT_MAX;
for (int i=0; i<n-1; i++)
if (a[i+1] - a[i] < min_diff)
min_diff = a[i+1] - a[i];
return min_diff;
}
int main() {
int arr[] = {30, 5, 20, 9};
int n = sizeof(arr)/sizeof(arr[0]);
cout << "Minimum difference between two elements is: " << getMinimumDifference(arr, n);
}输出结果
Minimum difference between two elements is: 4
热门推荐
10 小红书平安祝福语简短
11 生日祝福语大全女孩简短
12 收生日红包祝福语 简短
13 领证幽默祝福语简短
14 法考面试祝福语简短
15 老哥出门祝福语简短语
16 送灯祝福语简短独特
17 幼儿狗年祝福语大全简短
18 好听的元旦简短祝福语