原題地址:https://oj.leetcode.com/problems/search-insert-position/spa
題意:code
Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.blog
You may assume no duplicates in the array.leetcode
Here are few examples.[1,3,5,6]
, 5 → 2[1,3,5,6]
, 2 → 1[1,3,5,6]
, 7 → 4[1,3,5,6]
, 0 → 0get
解題思路:二分查找的變種。注意最後一句是return left。it
代碼:io
class Solution: # @param A, a list of integers # @param target, an integer to be inserted # @return integer def searchInsert(self, A, target): left = 0; right = len(A) - 1 while left <= right: mid = ( left + right ) / 2 if A[mid] < target: left = mid + 1 elif A[mid] > target: right = mid - 1 else: return mid return left