1、题目
2、题解
感觉题目整体较为简单,因为升序排列,基本实现思路如下:
对比 target 与数组的第一个元素。
- 大于:从头遍历数组找到与target相同的元素。
- 小于:从尾遍历数组找到与target相同的元素。
代码如下:
func search(nums []int, target int) int {
if nums[0] <= target{
for i:=0; i<len(nums); i++{
if nums[i] == target{
return i
}
if nums[i]>target{
return -1
}
}
}else{
for i:=len(nums)-1; i>=0; i--{
if nums[i] == target{
return i
}
if nums[i]<target{
return -1
}
}
}
return -1
}