02. Minimum Distance Between Two Numbers
The problem can be found at the following link: Question Link
My Approach
A simple and straightforward question, to find the minimum distance between two numbers, x and y, in an array,
I traverse the array once. I maintain two variables,
lastXandlastY, which represent the most recent positions of x and y in the array.I also maintain a variable
outto store the minimum distance found so far. As I traverse the array, I updatelastXandlastYwhenever I encounter x or y. If bothlastXandlastYhave been updated, I calculate the distance and updateoutaccordingly.Finally, I return
out, which represents the minimum distance between x and y. Ifoutremains equal toINT_MAX, it means one of the numbers was not found in the array, and I return -1.
Time and Auxiliary Space Complexity
Time Complexity:
O(n), wherenis the number of elements in the array.Auxiliary Space Complexity:
O(1), as we are using a constant amount of additional space.
Code (C++)
Contribution and Support
For discussions, questions, or doubts related to this solution, please visit our discussion section. We welcome your input and aim to foster a collaborative learning environment.
If you find this solution helpful, consider supporting us by giving a ⭐ star to the getlost01/gfg-potd repository.
Last updated
Was this helpful?