https://leetcode.com/problems/search-insert-position/description/
Given a sorted array of distinct integers 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 must write an algorithm with O(log n) runtime complexity.
Example 1:
Input: nums = [1,3,5,6], target = 5
Output: 2
Example 2:
Input: nums = [1,3,5,6], target = 2
Output: 1
Example 3:
Input: nums = [1,3,5,6], target = 7
Output: 4
Constraints:
1 <= nums.length <= 104
-104 <= nums[i] <= 104
nums contains distinct values sorted in ascending order.
-104 <= target <= 104
리스트를 순회하며 타겟값이랑 같으면 해당 인덱스를 리턴,
타겟값보다 더 큰 값이 나왔다면 역시 해당 인덱스를 리턴,
같거나 큰 값이 없으면 nums의 맨 마지막에 배치시켜야 하니 리스트의 길이를 리턴해주면 된다.
class Solution:
def searchInsert(self, nums: List[int], target: int) -> int:
for i in range(len(nums)):
if nums[i] >= target:
return i
return len(nums)
매우 쉽게 품.
실력이 늘은 것인가? 아님 너무나도 쉬운 상대였던 것인가...
정보 감사합니다.