Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Tìm hiệu nhỏ nhất giữa hai phần tử bất kỳ C++


Cho mảng n phần tử A. Tìm hiệu nhỏ nhất giữa hai phần tử bất kỳ. A = [30, 5, 20, 9], kết quả 4 (khoảng cách 5 và 9).

Giải quyết:

  • Sắp xếp mảng không giảm
  • Khởi tạo hiệu vô cùng
  • So sánh các cặp liền kề trong mảng đã sắp, giữ min

Ví dụ mã nguồn

#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); }

Kết quả

Minimum difference between two elements is: 4