35搜索插入位置
2023-07-03 15:03 作者:MicroShuai | 我要投稿
使用二分查找的條件:
1?? 有序 元素?
2?? 不重復(fù)、
重要點(diǎn)總結(jié):
1??了解二分查找原理
2??有關(guān)上面兩行注釋的優(yōu)化:
為什么不需要去判斷輸入 這樣的數(shù)組? int[] arr = {0};?
?答: left 和 right 為 0 。那么mid 肯定也為0 呀,0 等于 target ,那直接返回 0,??
為什么優(yōu)化最后的if判斷?
答:當(dāng)所給的target值沒找到時(shí)候,這時(shí)?mid =right =left (小伙伴門可以畫圖喔),
? 此時(shí)的 arr[mid] 值是始終小于 target ,
? 并且,那么 mid+1 = target插入索引的下標(biāo)
?又因?yàn)閞ight = left 執(zhí)行最后一次 循環(huán) 讓 left = mid +1;
?所以此時(shí) 的 left 不就等于 target插入索引的下標(biāo) 了嗎?
最后 直接 返回 left ?。。。?!
標(biāo)簽: