We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 01039f5 commit b43550aCopy full SHA for b43550a
Medium/Find the Duplicate Number.java
@@ -1,16 +1,20 @@
1
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
12
- fast = nums[fast];
+ public int findDuplicate(int[] nums) {
+ int slow = nums[0];
+ int fast = nums[0];
+ while (true) {
+ slow = nums[slow];
+ fast = nums[nums[fast]];
+ if (slow == fast) {
+ break;
+ }
+ int idxOne = nums[0];
13
+ int idxTwo = slow;
14
+ while (idxOne != idxTwo) {
15
+ idxOne = nums[idxOne];
16
+ idxTwo = nums[idxTwo];
17
18
+ return idxOne;
19
}
- return fast;
- }
20
0 commit comments