首页 > 编程语言 > 详细

[LeetCode][Java] Search Insert Position

时间:2015-07-12 20:23:01      阅读:283      评论:0      收藏:0      [点我收藏+]

题目:

Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.

You may assume no duplicates in the array.

Here are few examples.
[1,3,5,6], 5 → 2
[1,3,5,6], 2 → 1
[1,3,5,6], 7 → 4
[1,3,5,6], 0 → 0

题意:

给定一个有序数组和一个目标值,如果在数组中找到该目标值,就返回这个目标值的位置标号。如果没有找到,就返回该目标值插入该数组中时的位置标号。

你可以假设该数组中没有重复元素。

下面是一些列子:

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

算法分析:

二分搜索即可。直接上代码

AC代码:

<span style="font-size:12px;">public class Solution 
{
    public int searchInsert(int[] A, int target) 
    {
        int i = 0; 
        int j = A.length - 1;
        
        while (i <= j) 
        {
            int mid = (int)((i + j)/2);
            if (A[mid] == target) 
                return mid;
            else if (A[mid] > target) 
                j = mid - 1;
            else 
                i = mid + 1;
        }
        return i;
    }
}</span>


版权声明:本文为博主原创文章,转载注明出处

[LeetCode][Java] Search Insert Position

原文:http://blog.csdn.net/evan123mg/article/details/46852199

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!