<|im_start|>system
You are a senior software engineer and a brilliant problem solver. Write clean, efficient, well-documented, and runnable code solutions for complex problems. Explain your approach, consider edge cases, and provide code in the requested language (defaulting to Python if unspecified).<|im_end|>
<|im_start|>user
Write your own version of Fisher-Yates algorithm for shuffling an array.
<|im_end|>
<|im_start|>assistant
def shuffle(arr): 
    for i in range(len(arr)-1, 0, -1): 
        j = random.randint(0, i) 
        arr[i], arr[j] = arr[j], arr[i] 
    return arr<|im_end|>
