Skip to content

Commit b43550a

Browse files
authored
Update Find the Duplicate Number.java
1 parent 01039f5 commit b43550a

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

Medium/Find the Duplicate Number.java

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
11
class Solution {
2-
public int findDuplicate(int[] nums) {
3-
int slow = nums[0];
4-
int fast = nums[0];
5-
do {
6-
slow = nums[slow];
7-
fast = nums[nums[fast]];
8-
} while (slow != fast);
9-
slow = nums[0];
10-
while (slow != fast) {
11-
slow = nums[slow];
12-
fast = nums[fast];
2+
public int findDuplicate(int[] nums) {
3+
int slow = nums[0];
4+
int fast = nums[0];
5+
while (true) {
6+
slow = nums[slow];
7+
fast = nums[nums[fast]];
8+
if (slow == fast) {
9+
break;
10+
}
11+
}
12+
int idxOne = nums[0];
13+
int idxTwo = slow;
14+
while (idxOne != idxTwo) {
15+
idxOne = nums[idxOne];
16+
idxTwo = nums[idxTwo];
17+
}
18+
return idxOne;
1319
}
14-
return fast;
15-
}
1620
}

0 commit comments

Comments
 (0)