Leetcode刷题记(11)—搜索插入位置

题目要求:

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

题解暴力求解&&二分查找

最简单的想法就是暴力求解了,循环一次判断输出。

给出排序数组,就是疯狂在暗示我们使用“二分法”!!!

二分法中对于中位数mid的定义:直接使用mid=(left+right)/2容易产生溢出的问题,使用无符号右移法:mid = (left+right)>>>1;

本题的思路很清晰:

(1)判断目标值是否大于数组中最后一个元素,如果是直接输出数组长度;否则转2

(2)使用二分查找法,每次只查找一半元素,最后返回left索引值。

 

posted on 2019-09-10 15:12  不想睡觉的koala  阅读(90)  评论(0编辑  收藏  举报