
Given an array of positive integers arr (not necessarily distinct), return the lexicographically largest permutation that is smaller than arr , that can be made with exactly one swap . If it cannot be done, then return the same array.
Note that a swap exchanges the positions of two numbers arr[i] and arr[j]
1 <= arr.length <= 10 ^41 <= arr[i] <= 10 ^4