in reply to Re: Code challenge: array subrange
in thread Code challenge: array subrange

Mine is written in C++ so I didn't see it fit to put it here. Besides, as I mentioned my implementation is the straightforward one, so it's not really interesting.

The algorithm is:

  1. Find how many elements to return in subrange. This is simply the abs() of the difference between the requested range's indices.
  2. Find out from which element of the original vector to start copying. This is the hairy one: 4 cases (array ascending & subrange descending, array descending & subrange ascending, etc.) In each case assert on range compatibility.
  3. Copy - a simple substring copy from the array to the returned array, starting with element from (1), the amount of chars from (2)