国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

二分查找的實(shí)現(xiàn),和易錯(cuò)點(diǎn)

2023-07-01 21:04 作者:MicroShuai  | 我要投稿

輸入: nums = [-1,0,3,5,9,12], target = 9?

輸出: 4 解釋: 9?出現(xiàn)在 nums 中并且下標(biāo)為 4

二分查找要滿足兩個(gè)條件:

1??: 元素都是從小到大,或者從大到小排列?

2??:元素不重復(fù)


1??寫代碼易錯(cuò)點(diǎn), left<=right 是循環(huán)的結(jié)束條件,當(dāng)left比right大時(shí),說明沒有找到對應(yīng)的值

? 如果條件為left<right ,那right指針應(yīng)該為arr.length 但是沒有作為長度為下標(biāo)的元素,這樣的寫法并不推薦

2??mid?為什么是left+(right-left)/2?

? ? 如果當(dāng)left 和 right 很大的時(shí)候,會溢出,超過int最大值,所以使用right-left 來保證不會溢出

總結(jié): 二分查找的復(fù)雜度為O(log2n) 隨這n越來越大,相比O(n)?時(shí)間復(fù)雜度會越來越小




二分查找的實(shí)現(xiàn),和易錯(cuò)點(diǎn)的評論 (共 條)

分享到微博請遵守國家法律
靖宇县| 沙坪坝区| 铜陵市| 滦南县| 离岛区| 葫芦岛市| 呼图壁县| 小金县| 舞钢市| 万年县| 新巴尔虎右旗| 沂南县| 邵阳县| 马尔康县| 泉州市| 哈密市| 宜城市| 宝丰县| 仁化县| 青神县| 铜陵市| 宜黄县| 玉树县| 攀枝花市| 潼关县| 泰州市| 洛扎县| 松阳县| 泸定县| 开原市| 罗山县| 鄂尔多斯市| 建水县| 中阳县| 霍邱县| 班戈县| 肥乡县| 肇州县| 福州市| 开封县| 娱乐|