private boolean iscontainsDuplicate(int[] nums, int i, int j) {
		int length = j - i + 1;
		if (length == 1)
			return false;
		if (length == 2 && nums[i] == nums[j])
			return true;
		if (length == 2 && nums[i] != nums[j])
			return false;
		int mid = (i + j) / 2;
		HashSet<Integer> set = new HashSet<>();
		for (int k = i; k < mid; k++) {
			set.add(nums[k]);
		}
		for (int k = mid; k <= j; k++) {
			if (set.contains(nums[k]))
				return true;
		}
		return iscontainsDuplicate(nums, i, mid) || iscontainsDuplicate(nums, mid + 1, j);
	}