给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
示例 1:
1 | 输入: [1,3,5,6], 5 |
示例 2:
1 | 输入: [1,3,5,6], 2 |
示例 3:
1 | 输入: [1,3,5,6], 7 |
示例 4:
1 | 输入: [1,3,5,6], 0 |
解题思路:
使用二分查找来做这个问题。二分查找,要同时注意始末边界条件的处理。
二分查找时,需要注意左右边界的移动,边界移动+1或者-1
问题解答:
Github代码:https://github.com/zhangdianlei/LeetCode_python/blob/master/src/c35.py
1 | class Solution: |