Closest Number in Sorted Array
分析:
主要注意一下最后选择start还是end的事就行
class Solution:
# @param {int[]} A an integer array sorted in ascending order
# @param {int} target an integer
# @return {int} an integer
def closestNumber(self, A, target):
# Write your code here
if len(A)==0:
return -1
start = 0
end = len(A)-1
while start+1 < end:
mid= (start+end)/2
if target>A[mid]:
start = mid
else:
end=mid
if target<=A[start]:
return start
elif target >= A[end]:
return end
else:
if target-A[start] >=A[end]-target:
return end
else:
return startLast updated