Well, from the pop-up of possible forum posts, this is not an isolated incident.
Every solution given ignores the part of the instructions to not change code below the line which has a “return arr” beneath it and returns above it. While it is possible to come to that solution, none of your solutions (3) do that. It’s not helpful to students when the instructions aren’t followed.
Surely (let’s hope) you can put your mind back into the mind of before you know what you know now and say to yourself, "they have ‘return arr’ there… which means I have to figure a way to solve this with the return arr.
If it’s optional, then remove it instead of adding needless confusion. This point was raised in the comments of the solution last year.