Leetcode 35.搜索插入位置
1 题目描述(Leetcode题目链接) ??给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。
输入: [1,3,5,6], 5
输出: 2输入: [1,3,5,6], 2
输出: 1输入: [1,3,5,6], 7
输出: 4输入: [1,3,5,6], 0
输出: 0
2 题解 【Leetcode 35.搜索插入位置(Search Insert Position)】??二分法查找正确位置,关键在于边界的处理,循环限制条件最好为 l e f t < r i g h t left
class Solution:
def searchInsert(self, nums: List[int], target: int) -> int:
if not nums:
return 0
i, j = 0, len(nums)
while i < j:
mid = (i + j)//2
if target > nums[mid]:
i = mid + 1
else:
j = mid
return i
推荐阅读
- 数据结构与算法|【算法】力扣第 266场周赛
- leetcode|今天开始记录自己的力扣之路
- Python|Python 每日一练 二分查找 搜索旋转排序数组 详解
- 【LeetCode】28.实现strstr() (KMP超详细讲解,sunday解法等五种方法,java实现)
- LeetCode-35-搜索插入位置-C语言
- leetcode python28.实现strStr()35. 搜索插入位置
- Leetcode Permutation I & II
- python|leetcode Longest Substring with At Most Two Distinct Characters 滑动窗口法
- LeetCode 28 Implement strStr() (C,C++,Java,Python)
- Python|Python Leetcode(665.非递减数列)