一個對撞指針問題

什麼是對撞指針:我的理解就是兩個指針分別從兩端向中間靠攏

題目是這樣的:
在這裏插入圖片描述

代碼實現如下:
在這裏插入圖片描述
思路:
設置兩個指針,分別指向這個數組最大right和最小下標left, 然後元素相加,如果相加結果等於target直接輸出下標, 如果相加結果大於target,因爲是升序的,那麼就是right -= 1, 如果兩個元素相加小於target,就left+=1。最後一點就是退出條件要注意一定不能是left <= right, 因爲那樣會指向同一個元素。

這一題還可以使用暴力破解法和二分查找法來做

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章