Cerinta completa
The distance between two array values is the number of indices between them. Given , find the minimum distance between any pair of equal elements in the array. If no such value exists, return .
Example
There are two matching pairs of values: and . The indices of the ‘s are and , so their distance is . The indices of the ‘s are and , so their distance is . The minimum distance is .
Function Description
Complete the minimumDistances function in the editor below.
minimumDistances has the following parameter(s):
- int a[n]: an array of integers
Returns
- int: the minimum distance found or if there are no matching elements
Input Format
The first line contains an integer , the size of array .
The second line contains space-separated integers .
Constraints
Output Format
Print a single integer denoting the minimum in . If no such value exists, print .
Sample Input
STDIN Function
----- --------
6 arr[] size n = 6
7 1 3 4 1 7 arr = [7, 1, 3, 4, 1, 7]
Sample Output
3
Explanation
There are two pairs to consider:
- and are both , so .
- and are both , so .
The answer is .
Limbajul de programare folosit: python3
Cod:
#!/bin/python3
def minimumDistances(a):
last = {}
best = 10**18
for i, v in enumerate(a):
if v in last:
best = min(best, i - last[v])
last[v] = i
return -1 if best == 10**18 else best
if __name__ == '__main__':
_ = int(input().strip())
a = list(map(int, input().split()))
print(minimumDistances(a))
Scor obtinut: 1.0
Submission ID: 464588719
Link challenge: https://www.hackerrank.com/challenges/minimum-distances/problem
