add new solutions
This commit is contained in:
parent
d798d5e8c9
commit
886b5e0a8e
34 changed files with 1164 additions and 0 deletions
24
solutions/1/q162/solution.go
Normal file
24
solutions/1/q162/solution.go
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
package q162
|
||||
|
||||
// Important constraint: nums[i] != nums[i + 1]
|
||||
|
||||
func findPeakElement(nums []int) int {
|
||||
l, r := 0, len(nums)
|
||||
for l < r {
|
||||
m := (l + r) / 2
|
||||
|
||||
lLower := m == 0 || nums[m-1] < nums[m]
|
||||
rLower := m == len(nums)-1 || nums[m+1] < nums[m]
|
||||
if lLower && rLower {
|
||||
return m
|
||||
}
|
||||
if !lLower { // left side is higher
|
||||
r = m
|
||||
} else {
|
||||
l = m + 1
|
||||
}
|
||||
}
|
||||
return -1
|
||||
}
|
||||
|
||||
var _ = findPeakElement
|
||||
Loading…
Add table
Add a link
Reference in a new issue