35. Search Insert Position

一、题目

  1、审题

  

  2、分析

    将 target 插入有序数组中,求插入后 target 所在的下标。

 

二、解答

  1、思路:

    通过二分法记录出最终的下标 median,然后通过比较 median 所在的数值与 target 大小,确定 target 下标。

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

        int len = nums.length;
        int low = 0;
        int high = len - 1;
        // 二分
        int median = (high+low) / 2;
        while(low <= high) {

            if(nums[median] == target)
                return median;
            else if(nums[median] > target)
                high = median - 1;
            else
                low = median + 1;

            median = (high+low) / 2;
        }

        if(nums[median] > target)
            return median;
        else
            return median + 1;

    }
}

 

posted @ 2018-08-08 09:55  skillking2  阅读(97)  评论(0编辑  收藏  举报