menu

[LeetCode] 035. Search Insert Position

Problem (Easy)

035. 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

Approach 1: (My Solution)

Idea

Single loop to find the first item is larger or equal to target, if it’s not found, return the length of the list.

Solution

class Solution1:
    def searchInsert(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: int
        """
        for i in range(len(nums)):
            if nums[i] >= target:
                return i

        return len(nums)

Complexity

  • Time: $O(n)$
  • Space: $O(1)$



KF

Comments