| 1234567891011121314151617181920212223242526 | func singleNonDuplicate(nums []int) int {	n := len(nums)	if n == 0 {		return 0	}	beg, end := 0, n-1	for beg < end { // Binary search		mid := beg + (end-beg)/2		if nums[mid] == nums[mid+1] {			if (mid-beg)&1 == 1 {				end = mid - 1			} else {				beg = mid + 2			}		} else {			if mid == 0 || nums[mid-1] != nums[mid] {				return nums[mid]			} else if (end-mid)&1 == 1 {				beg = mid + 1			} else {				end = mid - 2			}		}	}	return nums[beg]}
 |