二分法
# 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。## 你可以假设数组中无重复元素。## 示例 1:## 输入: [1,3,5,6], 5# 输出: 2### 示例 2:## 输入: [1,3,5,6], 2# 输出: 1### 示例 3:## 输入: [1,3,5,6], 7# 输出: 4### 示例 4:## 输入: [1,3,5,6], 0# 输出: 0## Related Topics 数组 二分查找# 👍 650 👎 0# leetcode submit region begin(Prohibit modification and deletion)class Solution(object):def searchInsert(self, nums, target):""":type nums: List[int]:type target: int:rtype: int"""left, right = 0, len(nums) - 1while left <= right:mid = (left + right) // 2if nums[mid] > target:right = mid - 1elif nums[mid] < target:left = mid + 1else:return midreturn left# leetcode submit region end(Prohibit modification and deletion)s = Solution()print(s.searchInsert([1, 3, 5, 6], 0), '== 0')print(s.searchInsert([1, 3, 5, 6], 7), '== 4')
