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

2021-10-11 01:56:03 字數 836 閱讀 3546

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

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

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

你可以設計並實現時間複雜度為 o(log n) 的演算法解決此問題嗎?

public int[

] searchrange(int[

] nums, int target)

; int start=local-1;

int end=local+1;

while(start>=0&&nums[start]

==target)

while(end<=nums.length-1&&nums[end]

==target)

return new int[

];//多- + 了

} public static int reseach(int[

] nums,int target)

else if(nums[mid]

>target)

else

}return -1;

}

tips:

1.有序考慮折半查詢

public static int reseach(int[

] nums,int target)

else if(nums[mid]

>target)

else

}return -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 輸入 n...