题目
1- 思路
2- 实现
⭐287. 寻找重复数——题解思路

class Solution {public int findDuplicate(int[] nums) {int slow = nums[0];int fast = nums[0];do{slow = nums[slow];fast = nums[nums[fast]];}while(slow!=fast);slow = nums[0];while(slow!=fast){slow = nums[slow];fast = nums[fast];}return slow;}
}
3- ACM 实现
public class duplicateNum {public static int findDuplicate(int[] nums){int slow = nums[0];int fast = nums[0];do{slow = nums[slow];fast = nums[nums[fast]];}while(slow!=fast);slow = nums[0];while(slow!=fast){slow = nums[slow];fast = nums[fast];}return slow;}public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int[] nums = new int[n];for(int i = 0 ; i < n;i++){nums[i] = sc.nextInt();}System.out.println("结果是"+findDuplicate(nums));}
}