Note that iteration is preferred to recursion in almost all cases. Loops are simpler to reason about in most popular languages. Recursion is most typically used for the kind of problems where you have keep track of where you were. rather than just where you are.
I was thinking a recursive approach of moving one element at a time until we get to the end of the array.
As an example of why you might avoid recursion, recursion relies on the algorithm completing before stack space is exhausted. Some platforms default to a small amount of stack space that doesn't grow (e.g. executables on Windows typically have up to one Megabyte of stack space). Thus your application may now have an unintentional arbitrary limit - once the data size crosses a certain threshold it may crash!
Actually thanks for that. Because I'm not far into my CS degree (mostly a theory class studying ideas of some techniques) the ideas taught aren't always fully explained and just the basics behind them. Although I of course have known about recursion and have used it before (I'm sure a loop would had prolly been better), did know about all that on recursion. Though I did know a little about the runtime on it (did study that a little bit last semester).
Tomorrow I plan to work on this fully to see what I can come up with. Did a little reading and I think I have some ideas. Thanks everyone!!