60.搜索插入位置
给定一个排序数组和一个目标值,如果在数组中找到目标值则返回索引。如果没有,返回到它将会被按顺序插入的位置。
你可以假设在数组中无重复元素。
样例:
[1,3,5,6],5 → 2
[1,3,5,6],2 → 1
[1,3,5,6], 7 → 4
[1,3,5,6],0 → 0
代码:
class Solution:
"""
@param: A: an integer sorted array
@param: target: an integer to be inserted
@return: An integer
"""
def searchInsert(self, A, target):
# write your code here
if A is None: return None
if A == []: return 0
n = len(A)
if A[0] >= target:
return 0
if A[n - 1] < target:
return n
for i in range(n):
while(A[i] == target):
return i
for i in range(n - 1):
if target > A[i] and target < A[i + 1]:
return i + 1