Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.
(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).
You are given a target value to search. If found in the array return its index, otherwise return -1.
You may assume no duplicate exists in the array.
根据piv优化
func search(nums []int, target int) int {
//tmp=nums[0]
var ret int=-1
if len(nums)==0 {
return ret
}
last:=nums[len(nums)-1]
if target<last{
for i:=len(nums)-1;i>=0;i--{
if target==nums[i]{
ret=i
}
}
}else if target>last{
for i:=0;i<len(nums);i++{
if target==nums[i]{
ret=i
}}}else{
return len(nums)-1
}
return ret
}
最差全遍历
func search(nums []int, target int) int { //tmp=nums[0] var ret int=-1 for i:=0;i<len(nums);i++{ if nums[i]==target{ ret=i } } return ret }