Find the Duplicate Number LeetCode solution in Java
1class Solution {2public int findDuplicate(int[] nums) {3int i = 0;4while (i < nums.length) {56if (nums[i] != i + 1) {7int correct = nums[i] - 1;8if (nums[i] != nums[correct]) {9swap(nums, i, correct);10} else {11return nums[i];12}13} else {14i++;15}16}17return -1;18}1920static void swap(int[] arr, int first, int second) {21int temp = arr[first];22arr[first] = arr[second];23arr[second] = temp;24}25}