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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/search-insert-position
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路:

  1.根据数组有序,挨个元素进行比较

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

        int i = 0;
        /*
         * 如果目标值小于数组中0个元素,直接返回0
         */
        if (target < nums[0]) {

            return 0;
        }
        /*
         * 目标值大于下标为i的元素,继续循环执行
         */
        while (target > nums[i]) {

            i++;
            
            /*
             * i 等于数组有效元素时,说明数组元素已经比较完,跳出循环
             */
            if (i == nums.length) {

                break;
            }
        }
        return i;
    }
}

猜你喜欢

转载自www.cnblogs.com/raising/p/12907068.html