排序陣列查詢第乙個和最後乙個位置

2021-10-07 05:00:49 字數 507 閱讀 5758

描述:給定乙個按照公升序排列的整數陣列 nums,和乙個目標值 target。找出給定目標值在陣列中的開始位置和結束位置。

你的演算法時間複雜度必須是 o(log n) 級別。

如果陣列中不存在目標值,返回 [-1, -1]。

package leetcoder;

/** * @author : zhaoliang

* @program :newcoder

* @description : 在排序陣列中查詢元素的第乙個和最後乙個位置

* @create : 2020/06/15 09:24

*/public

class

leetcode34

;for

(int i =

0; i (nums[end]

== target && res[1]

==-1)

end--;}

return res;

}}

在排序陣列中查詢元素的第乙個和最後乙個位置

給定乙個按照公升序排列的整數陣列 nums,和乙個目標值 target。找出給定目標值在陣列中的開始位置和結束位置。你的演算法時間複雜度必須是 o log n 級別。如果陣列中不存在目標值,返回 1,1 示例 1 輸入 nums 5,7,7,8,8,10 target 8 輸出 3,4 示例 2 輸...

在排序陣列中查詢元素的第乙個和最後乙個位置

題目描述 給定乙個按照公升序排列的整數陣列 nums,和乙個目標值 target。找出給定目標值在陣列中的開始位置和結束位置。你的演算法時間複雜度必須是 o log n 級別。如果陣列中不存在目標值,返回 1,1 示例1 輸入 nums 5,7,7,8,8,10 target 8 輸出 3,4 示例...

在排序陣列中查詢元素的第乙個和最後乙個位置

陣列有序,時間複雜度要求為 目標值的開始位置和結束位置,普通的折半查詢只能判斷目標值是否在陣列當中,在的話返回其下標,但是這裡面的陣列有重複值,所以要對折半查詢進行改造。先查目標值的開始位置。如何定義開始位置?如果在陣列中找到目標值的位置,然後判斷它左邊位置上的數是否和目標值相等 如果不相等,那麼此...