Java 1D Array (Part 2)

  • + 1 comment

    I will try it.Thanks a lot.

    • + 1 comment

      Your code fails on the following test case:

      1
      18 4
      0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1
      
      • + 2 comments

        Hi. I ran my code with your input and it correctly printed YES. This can be done by doing jumps of 1, 1, 4, 4, 4, 4.

        Full code available at HackerRank solutions.

        • + 2 comments

          not your code, the one from Vijay_Ravi...

          • + 1 comment

            I've made a correction in my code and the output for ibexxx's input is 'YES'.I just exchanged the first if statement and the else if statement following it. Yet the 5 testcases fail. I changed these lines

            if(i+leap<=n-1 && game[i+leap]==0 && leap!=0) i=i+leap;
                        else if(i+1<=n-1 && game[i+1]==0) i=i+1;
            

            which makes jumps of 4,4,4 to

            if(i+1<=n-1 && game[i+1]==0) i=i+1;
            else if(i+leap<=n-1 && game[i+leap]==0 && leap!=0) i=i+leap;
            

            which makes jumps of 1,1,4,4,4.

            • + 0 comments

              Now your code fails on:

              1
              16 4
              0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1
              
        • + 1 comment

          The change I have made to my code also does jumps of 1,1,4,4,4. Still the 5 testcases fail.

          • + 0 comments

            Your code fails because there is no retracing of paths possible incase you got stuck on any square. To retrace the path, use a stack. Pop the elements out of the stack only after verifying game[i+1],game[i-1] and game[i+leap] has a 0 or not.