Search Insert Position-LeetCode#35

35. 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.
Example 1:

Input: [1,3,5,6], 5
Output: 2

Example 2:

Input: [1,3,5,6], 2
Output: 1

Example 3:

Input: [1,3,5,6], 7
Output: 4

Example 4:

Input: [1,3,5,6], 0
Output: 0

搜索插入位置
给定排序数组和目标值,如果找到目标,则返回索引。如果没有,请返回索引按顺序插入的索引。
可以假设数组中没有重复项。
思路:从左至右与 target 比较

  1. 如果当前数小于 target 时,index++
  2. 如果当前数大于等于 target 时,返回index
  3. 特殊情况 target 比数组中所有数都大,返回 index + 1
public int searchInsert(int[] nums, int target) {
    int index = 0;
    while (index < nums.length) {
        if (nums[index] < target){
            index++;
        }else if (nums[index] >= target){
            return index;
        }
        if (index == nums.length - 1 && nums[index] < target){
            return index + 1;
        }
    }
    return index;
}
文章已创建 112

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部