zoukankan      html  css  js  c++  java
  • [LeetCode][Java] Search Insert Position

    题目:

    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>


  • 相关阅读:
    [HDOJ3523]Image copy detection
    [HDOJ3526]Computer Assembling
    Ubuntu12.04 配置步骤
    const 详解
    ubuntu 12.04 源
    函数参数和数据成员同名
    友元
    静态数据 成员和静态函数
    成员指针
    内存泄露
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/7352500.html
Copyright © 2011-2022 走看看