LeetCode 35.搜索插入位置


 

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

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

示例 1:

输入: [1,3,5,6], 5
输出: 2

示例 2:

输入: [1,3,5,6], 2
输出: 1

示例 3:

输入: [1,3,5,6], 7
输出: 4

示例 4:

输入: [1,3,5,6], 0
输出: 0

思想:比较简单的一道题,但是要注意极端情况的考虑
public static int searchInsert(int[] nums, int target) {
        if (nums.length == 0 || target < nums[0]){
            return 0;
        }
        List<Integer> list = new ArrayList<>();
        for (int i=0; i<nums.length ; i++) {
            if (target == nums[i]){
                return i;
            }
            if (target > nums[i]){
                if (i == nums.length - 1){
                    return nums.length;
                }
                if (target < nums[i+1]){
                    return i+1;
                }
            }
            list.add(nums[i]);
        }
        return -1;
    }

 

posted @ 2018-09-27 13:32  Narcissus94  阅读(110)  评论(0编辑  收藏  举报