# your code goes here res = max(res, i - mp[arr[i]])
# Python Program to find max distance between two occurrences
# in array using hashing
def maxDistance(arr):
# Stores element to first index mapping
mp = {}
res = 0
for i in range(len(arr)):
# If this is the first occurrence of the
# element, store its index
if arr[i] not in mp:
mp[arr[i]] = i
# Else update max distance
else:
res = max(res, i - mp[arr[i]])
return res
arr = [1, 1, 2, 2, 2, 1]
print(maxDistance(arr))
IyB5b3VyIGNvZGUgZ29lcyBoZXJlIHJlcyA9IG1heChyZXMsIGkgLSBtcFthcnJbaV1dKQojIFB5dGhvbiBQcm9ncmFtIHRvIGZpbmQgbWF4IGRpc3RhbmNlIGJldHdlZW4gdHdvIG9jY3VycmVuY2VzCiMgaW4gYXJyYXkgdXNpbmcgaGFzaGluZwoKZGVmIG1heERpc3RhbmNlKGFycik6CiAgCiAgICAjIFN0b3JlcyBlbGVtZW50IHRvIGZpcnN0IGluZGV4IG1hcHBpbmcKICAgIG1wID0ge30KICAgIHJlcyA9IDAKCiAgICBmb3IgaSBpbiByYW5nZShsZW4oYXJyKSk6CiAgICAgIAogICAgICAgICMgSWYgdGhpcyBpcyB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiB0aGUKICAgICAgICAjIGVsZW1lbnQsIHN0b3JlIGl0cyBpbmRleAogICAgICAgIGlmIGFycltpXSBub3QgaW4gbXA6CiAgICAgICAgICAgIG1wW2FycltpXV0gPSBpCiAgICAgICAgICAgIAogICAgICAgICMgRWxzZSB1cGRhdGUgbWF4IGRpc3RhbmNlCiAgICAgICAgZWxzZToKICAgICAgICAgICAgcmVzID0gbWF4KHJlcywgaSAtIG1wW2FycltpXV0pCgogICAgcmV0dXJuIHJlcwoKYXJyID0gWzEsIDEsIDIsIDIsIDIsIDFdCnByaW50KG1heERpc3RhbmNlKGFycikpCiA=