สมมติว่าเรามีอาร์เรย์ n องค์ประกอบชื่อ A เราต้องหาความต่างน้อยที่สุดระหว่างสององค์ประกอบใดๆ ในอาร์เรย์นั้น สมมติ A = [30, 5, 20, 9] ผลลัพธ์จะเป็น 4 นี่คือระยะห่างน้อยสุดขององค์ประกอบ 5 และ 9
เพื่อแก้ปัญหานี้ เราต้องทำตามขั้นตอนเหล่านี้:
- เรียงลำดับอาร์เรย์ในลำดับไม่ลดลง
- เริ่มต้นความต่างเป็นค่าอนันต์
- เปรียบเทียบคู่ที่อยู่ติดกันทั้งหมดในอาร์เรย์ที่เรียงแล้วและติดตามค่าต่ำสุด
ตัวอย่างโค้ด C++
#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
ผลลัพธ์
Minimum difference between two elements is: 4