How to find minimum distance between two numbers in an array with C++

1 Answer

0 votes
#include <iostream>
#include <climits>
 
int MinDistance(int arr[], int size, int number1, int number2) {
    int min_distance = INT_MAX;
       
    for (int i = 0; i < size; i++) {  
        for (int j = i + 1; j < size; j++) {
            if (arr[i] == number1 && arr[j] == number2 ||
                arr[i] == number2 && arr[j] == number1) {
                min_distance = std::min(min_distance , abs(i - j));
            }
        }
    }
     
    return min_distance;
}
   
int main()
{
    int arr[] = {2, 3, 7, 3, 3, 4, 8, 8, 8, 11, 9, 1, 3};
       
    int size = sizeof(arr) / sizeof(arr[0]); 
     
    std:: cout << MinDistance(arr, size, 3, 8);
}
   
   
   
   
/*
run:
   
2
   
*/

 



answered Aug 22, 2022 by avibootz
edited Aug 24, 2022 by avibootz

Related questions

...