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

2021-09-23 01:40:58 字數 896 閱讀 3839

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

你的演算法時間複雜度必須是 o(log n) 級別。如果陣列中不存在目標值,返回[-1, -1]

示例 1:

輸入:nums = [5,7,7,8,8,10], target = 8輸出:[3,4]

示例 2:

輸入:nums = [5,7,7,8,8,10], target = 6輸出:[-1,-1]

二分查詢。

class solution ;

int n = nums.size();

if (n == 0) return res;

left = n; right = -1;

binarysearch(nums, target, 0, n-1);

if (left != n && right != -1)

return res;

}void binarysearch(vector& nums, int target, int low, int high)

else if (nums[mid] < target) binarysearch(nums, target, mid+1, high);

else binarysearch(nums, target, low, mid-1);

}};

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

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

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

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

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

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