mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-05 08:27:30 +08:00
23 lines
366 B
Go
23 lines
366 B
Go
package leetcode
|
|
|
|
func singleNonDuplicate(nums []int) int {
|
|
left, right := 0, len(nums)-1
|
|
for left < right {
|
|
mid := (left + right) / 2
|
|
if mid%2 == 0 {
|
|
if nums[mid] == nums[mid+1] {
|
|
left = mid + 1
|
|
} else {
|
|
right = mid
|
|
}
|
|
} else {
|
|
if nums[mid] == nums[mid-1] {
|
|
left = mid + 1
|
|
} else {
|
|
right = mid
|
|
}
|
|
}
|
|
}
|
|
return nums[left]
|
|
}
|