搜索插入位置

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

你可以假设在数组中无重复元素。

样例
[1,3,5,6],5 → 2

[1,3,5,6],2 → 1

[1,3,5,6], 7 → 4

[1,3,5,6],0 → 0

/**
 * @param A: an integer sorted array
 * @param target: an integer to be inserted
 * @return: An integer
 */
const searchInsert = function (A, target) {
    if(A.length===0) return 0;
    var start=0,end=A.length-1;
    while(start+1<end){
        var mid=start+parseInt((end-start)/2);
        if (A[mid]==target) {
            return mid;
        } else if(A[mid]<target){
            start=mid;
        }else{
            end=mid;
        }
    }
    if(A[start]>=target){
        return start;
    }else if(A[end]>=target){
        return end;
    }else{
        return end+1;
    }
    
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • [{"reportDate": "2018-01-23 23:28:49","fluctuateCause": n...
    加勒比海带_4bbc阅读 783评论 1 2
  • 题目 给定一个排序数组和一个目标值,如果在数组中找到目标值则返回索引。如果没有,返回到它将会被按顺序插入的位置。你...
    六尺帐篷阅读 623评论 1 3
  • 题目 给定一个排序数组和一个目标值,如果在数组中找到目标值则返回索引。如果没有,返回到它将会被按顺序插入的位置。你...
    六尺帐篷阅读 211评论 0 1
  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 难度:容易 要求: 给定一个排序数组和一个目标值,如果在数组...
    柒黍阅读 201评论 0 0
  • 给定一个排序数组和一个目标值,如果在数组中找到目标值则返回索引。如果没有,返回到它将会被按顺序插入的位置。你可以假...
    DayDayUpppppp阅读 210评论 0 0