文巾解题35. 搜索插入位置
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                文巾解题35. 搜索插入位置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                1 題目描述
2 解題思路
2.1 二分查找左邊界
我們把問題想成“大于等于target的第一個數”,那么也就是尋找左側邊界的二分搜索。(見二分查找詳解_劉文巾的博客-CSDN博客?的第3小節)
class Solution:def searchInsert(self, nums: List[int], target: int) -> int:left=0right=len(nums)while(left<right):mid=left+(right-left)//2if(nums[mid]==target):right=midelif(nums[mid]>target):right=midelif(nums[mid]<target):left=mid+1return(left)2.2 搜索空間長度為1時的特判
這種方法大體上和二分查找一個數是一樣的(見二分查找詳解_劉文巾的博客-CSDN博客?第2小節)
?
唯一不同的是,查找一個數,如果找不到的話,那么返回0,但這邊我們要返回的是插入的位置
那么可能是left,可能是right,應該是哪個呢?
我們看最后搜索空間中只有一個數的情況(因為多于一個數的搜索空間,如果沒有target的話,最終也會來到只有一個數的搜索空間中去)
所以如果找不到target,返回的應該是left
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的文巾解题35. 搜索插入位置的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 文巾解题 11. 盛最多水的容器
- 下一篇: python库整理:os
