title: What does pointer doubling mean in the context of arrays in Java?
body: <blockquote>
    <p>Find a duplicate. Given an array of N+1 elements in which each element is an integer between 1 and N, write an algorithm to find a duplicate. Your algorithm should run in linear time, use O(1) extra space, and may not modify the original array. Hint: pointer doubling. </p>
  </blockquote>
  
  <p>I'm trying to solve this problem from a book. What does pointer doubling mean in this context? 
  The book uses Java so I'm assuming this must be something applicable to Java as well even though there is no concept of pointers in Java. </p>