下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
力扣35題二分查找的邊界魔法如何在有序數(shù)組中為元素找到完美歸宿題目深度解析題目要求在一個(gè)已排序數(shù)組中找到目標(biāo)值的索引,如果存在則返回它應(yīng)該被插入的位置。關(guān)鍵點(diǎn):1.排序數(shù)組特性?:必須利用數(shù)組已排序的特點(diǎn)2.插入位置定義?:保持?jǐn)?shù)組有序的情況下,目標(biāo)值應(yīng)該插入的位置3.時(shí)間復(fù)雜度要求?:O(logn)復(fù)雜度,暗示需要使用二分查找難點(diǎn)解析:1.如何處理目標(biāo)值不在數(shù)組中的情況2.如何確定正確的插入位置而不破壞順序3.邊界條件處理(目標(biāo)值小于最小值或大于最大值)生活場(chǎng)景類(lèi)比想象你在整理一本電話(huà)簿:1.找"張三"的電話(huà)(目標(biāo)值存在):直接翻到對(duì)應(yīng)頁(yè)面2.找"李四"的電話(huà)(目標(biāo)值不存在):找到"李"姓最后一個(gè)條目確定"李四"應(yīng)該插入的位置解題步驟詳解1.初始化?:設(shè)置搜索范圍l=0,r=nums.size()2.二分查找核心?:計(jì)算中點(diǎn)mid=(l+r-1)/2比較nums[mid]與target3.三種情況處理?:相等:直接返回mid小于:在右半部分繼續(xù)搜索大于:在左半部分繼續(xù)搜索4.終止條件?:剩余1-2個(gè)元素時(shí)直接判斷根據(jù)邊界值確定最終位置注意事項(xiàng)1.邊界檢查?:防止數(shù)組越界(mid-1<0的情況)和處理空數(shù)組情況2.區(qū)間定義?:保持左閉右開(kāi)的一致性3.遞歸終止?:確保所有可能情況都被覆蓋4.特殊情況?:目標(biāo)值小于所有元素目標(biāo)值大于所有元素完整注釋代碼classSolution{public://遞歸二分查找函數(shù)intbinaryselect(vector<int>a,intnum,intl,intr){//情況1:剩余兩個(gè)元素時(shí)的處理if(l+1==r-1){if(a[l]<num&&a[r-1]>num)returnl+1;//插入中間位置elseif(a[r-1]==num)returnr-1;//找到目標(biāo)值elseif(a[l]>=num)returnl;//插入最前或替換returnr;//插入最后}//情況2:剩余一個(gè)元素時(shí)的處理elseif(l==r-1){if(a[l]<num)returnl+1;//插入后面elsereturnl;//插入前面或替換}//情況3:常規(guī)二分查找else{intmid=(l+r-1)/2;if(a[mid]==num)returnmid;//找到目標(biāo)值elseif(a[mid]<num)returnbinaryselect(a,num,mid+1,r);//搜索右半部分else{if(mid-1<0)returnl;//防止越界returnbinaryselect(a,num,l,mid);//搜索左半部分}}}//主函數(shù)接口intsearchInsert(vector<int>&nums,inttarget){returnbinaryselect(nums,target,0,n
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 維修工程師專(zhuān)業(yè)考試題及解析
- 充電式工具項(xiàng)目可行性分析報(bào)告范文(總投資23000萬(wàn)元)
- 深度解析(2026)《GBT 19209.1-2003拖拉機(jī)修理質(zhì)量檢驗(yàn)通則 第1部分輪式拖拉機(jī)》(2026年)深度解析
- 年產(chǎn)xxx實(shí)心胎項(xiàng)目可行性分析報(bào)告
- 獨(dú)居老人的糖尿病居家安全管理
- 資深制藥工程問(wèn)題解析與高工經(jīng)驗(yàn)
- 銷(xiāo)售經(jīng)理崗位能力測(cè)試題及高分技巧含答案
- 深度解析(2026)《GBT 18834-2002土壤質(zhì)量 詞匯》(2026年)深度解析
- 不銹鋼過(guò)濾器建設(shè)項(xiàng)目可行性分析報(bào)告(總投資19000萬(wàn)元)
- PE吹膜機(jī)項(xiàng)目可行性分析報(bào)告范文
- 腰椎骨折課件教學(xué)課件
- 電動(dòng)機(jī)正反轉(zhuǎn)控制電路安裝調(diào)試教案
- (完整)初二數(shù)學(xué)(上)期末易錯(cuò)題、難題培優(yōu)復(fù)習(xí)精心整
- 高壓斷路器和隔離開(kāi)關(guān)的原理與選擇
- 新生兒護(hù)士述職報(bào)告
- 手機(jī)短視頻拍攝與剪輯智慧樹(shù)知到課后章節(jié)答案2023年下哈爾濱職業(yè)技術(shù)學(xué)院
- 統(tǒng)編版語(yǔ)文五年級(jí)上冊(cè)按要求改寫(xiě)句子過(guò)關(guān)練習(xí)(含答案)
- 人教版美術(shù)-裝飾畫(huà)教學(xué)課件
- NY/T 455-2001胡椒
- GB/T 18710-2002風(fēng)電場(chǎng)風(fēng)能資源評(píng)估方法
- 《家庭、私有制和國(guó)家的起源》課件
評(píng)論
0/150
提交評(píng)論