Basic Info: This question is my second attempt at this question this question. It is based on a question similar to this Codility question. The input (an int array), the outpout (an integer) and the method signature (public int solution(int[] A)
) are given.
I initially had a Dictionary<Int,List<Int>>
to track the path a critter traveled for detecting when he crossed he trail. That answer That answer was O(n)
in complexity but O(crap)
in space usage when the lines got long - a walk of 1k steps could add as many lists - then as many points on the next step.
Thanks to this answer this answer I was given then idea of tracking line segments - and then comparing the newest line segment with previous for cross overs. (I've also worked on some of the naming and layout inconsistencies)
Basic Info: This question is my second attempt at this question. It is based on a question similar to this Codility question. The input (an int array), the outpout (an integer) and the method signature (public int solution(int[] A)
) are given.
I initially had a Dictionary<Int,List<Int>>
to track the path a critter traveled for detecting when he crossed he trail. That answer was O(n)
in complexity but O(crap)
in space usage when the lines got long - a walk of 1k steps could add as many lists - then as many points on the next step.
Thanks to this answer I was given then idea of tracking line segments - and then comparing the newest line segment with previous for cross overs. (I've also worked on some of the naming and layout inconsistencies)
Basic Info: This question is my second attempt at this question. It is based on a question similar to this Codility question. The input (an int array), the outpout (an integer) and the method signature (public int solution(int[] A)
) are given.
I initially had a Dictionary<Int,List<Int>>
to track the path a critter traveled for detecting when he crossed he trail. That answer was O(n)
in complexity but O(crap)
in space usage when the lines got long - a walk of 1k steps could add as many lists - then as many points on the next step.
Thanks to this answer I was given then idea of tracking line segments - and then comparing the newest line segment with previous for cross overs. (I've also worked on some of the naming and layout inconsistencies)
A critter starts at (0, 0) on a Cartesian graph. We have a non-empty zero-indexed "moves" list that contains numbers. Each number represents the distance moved. (Similar to this question this question) The first number is the distance north, the second is the distance east, the third is the distance south, the fourth is the distance west, and repeats like this forever. Therefore the directions cycle every four moves.
A critter starts at (0, 0) on a Cartesian graph. We have a non-empty zero-indexed "moves" list that contains numbers. Each number represents the distance moved. (Similar to this question) The first number is the distance north, the second is the distance east, the third is the distance south, the fourth is the distance west, and repeats like this forever. Therefore the directions cycle every four moves.
A critter starts at (0, 0) on a Cartesian graph. We have a non-empty zero-indexed "moves" list that contains numbers. Each number represents the distance moved. (Similar to this question) The first number is the distance north, the second is the distance east, the third is the distance south, the fourth is the distance west, and repeats like this forever. Therefore the directions cycle every four moves.