| 12345678910111213141516171819 | 
							- func findDuplicate(nums []int) int { // Binary search
 
- 	n := len(nums)
 
- 	beg, end := 1, n
 
- 	for beg < end {
 
- 		mid := (beg + end) / 2
 
- 		cnt := 0
 
- 		for i := 0; i < n; i++ {
 
- 			if nums[i] <= mid {
 
- 				cnt++
 
- 			}
 
- 		}
 
- 		if cnt <= mid {
 
- 			beg = mid + 1
 
- 		} else {
 
- 			end = mid
 
- 		}
 
- 	}
 
- 	return beg
 
- }
 
 
  |