搜索插入位置

题目描述:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。

示例:输入: [1,3,5,6],  输出: 2 ; 输入: [1,3,5,6], 7 输出: 4

java代码

class Solution {

    public int searchInsert(int[] nums, int target) {

        int len = nums.length;

        if(len == 0) {

            return -1;

        }

        if(nums[len - 1] < target) {

            return len;

        }

        int left = 0;

        int right = len - 1 ;

        while(left < right) {

            int mid = left + (right - left) / 2;

            if(nums[mid] < target) {

                left = mid + 1;

            }else {

                right = mid;

            }

        }

        return right;

    }

}

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

推荐阅读更多精彩内容

  • 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的...
    FiveZM阅读 460评论 0 0
  • <center>#104 Maximum Depth of Binary Tree</center> link D...
    铛铛铛clark阅读 1,603评论 0 0
  • 搜索插入位置 题目叙述: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中...
    一萍之春阅读 368评论 0 1
  • 动态规划 111. 爬楼梯思路类似斐波那契数列注意考虑第 0 阶的特殊情况 272. 爬楼梯 II思路类似上题,只...
    6默默Welsh阅读 2,451评论 0 1
  • 转眼又立夏, 小龟肥又大, 鱼缸有点小, 老龟难放下; 猫咪与旺财, 今天又打架。 因为啥事情, 都要称上耍。 去...
    早之风无夏阅读 297评论 4 9