Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C++ หาความต่างน้อยที่สุดระหว่างสององค์ประกอบใดๆ ในอาร์เรย์


สมมติว่าเรามีอาร์เรย์ 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