35:搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
Go语言实现
最low的解题思路,搬砖式:
func searchInsert(nums []int, target int) int {
//判断切片是否为空/nil
if len(nums)==0||nums==nil{
return 0
}
for i:=0;i<len(nums);i++{
//判断目标值是否小于切片第一个值,小于,插入第一个位置
if target<nums[0]{
return 0
}
//判断切片中是否存在此值,不存在则插入最后一个位置
if i==len(nums)-1{
return len(nums)
}
//切片中存在值
if nums[i]==target{
return i
}
//判断切片中插入的位置
if target>nums[i]&&target<nums[i+1]{
return i+1
}
}
return 0
}
优秀的解法:
func searchInsert02(nums []int,target int)int{
if len(nums)==0||nums==nil{
return 0
}
res:=0
for i,v:=range nums{
if target<=v{
res=i
break
}
res=i+1
}
return res
}
题目来源于leetcode,如有侵权,告知删除,转载请注明原出处。