Lintcode61 Search for a Range solution 題解

【題目描述】

Given a sorted array of n integers, find the starting and ending position of a given target value.If the target is not found in the array, return [-1, -1].

給定一個包含 n 個整數的排序數組,找出給定目標值 target 的起始和結束位置。如果目標值不在數組中,則返回[-1, -1]

【題目鏈接】

www.lintcode.com/en/problem/search-for-a-range/

【題目解析】

這題要求在一個排好序可能有重複元素的數組裏面找到包含某個值的區間範圍。要求使用O(log n)的時間,所以我們採用兩次二分查找。首先二分找到第一個該值出現的位置,譬如m,然後在[m, n)區間內第二次二分找到最後一個該值出現的位置。

【參考答案】

www.jiuzhang.com/solutions/search-for-a-range/


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