题目描述:
给定一个升序排列的数组 A 和 Q 次询问。对于每次询问,您需要找到指定元素 x 在数组中第一次和最后一次出现的位置。如果该元素不存在于数组中,则返回 (−1,−1)。
输入格式:
在本题中,我们需要在一个升序排列的数组中多次查询某个元素的首次出现和最后一次出现的位置。如果目标元素存在,我们需要返回它在数组中首次和最后一次出现的位置。如果不存在该元素,则返回 -1 -1
。这种问题可以通过二分查找来高效解决。
Python 提供了 bisect
模块,它包含了类似 C++ 中 lower_bound
和 upper_bound
函数的功能。我们可以通过 bisect_left
和 bisect_right
来解决本题。
bisect_left
和 bisect_right