[LeetCode] 035. Search Insert Position
-
date_range April 03, 2019 - Wednesday info
Problem (Easy)
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