Time complexity 数组中所有元素相等的二进制搜索

Time complexity 数组中所有元素相等的二进制搜索,time-complexity,binary-search,Time Complexity,Binary Search,我对二进制搜索有问题。我现在做的是:- 给定一个排序数组arr[]和一个数字x计算arr[]中x的出现次数,以有效方式实现此逻辑的函数需要花费 答案是O(log(n)),因为我使用二进制搜索,但我有一个数组arr[],所有元素都相等,那么我将无法在O(log(n))时间内得到答案。这需要O(n)时间 现在,我声称实现这个问题的有效算法需要O(n)时间。我的主张成立吗???好吧,有效的算法是: 查找第一次出现的x的索引 查找x最后一次出现的索引 答案是(2)-(1)+1 这仍然是O(logn)

我对二进制搜索有问题。我现在做的是:-

给定一个排序数组arr[]和一个数字x计算arr[]中x的出现次数,以有效方式实现此逻辑的函数需要花费

答案是
O(log(n))
,因为我使用二进制搜索,但我有一个数组arr[],所有元素都相等,那么我将无法在
O(log(n))
时间内得到答案。这需要O(n)时间


现在,我声称实现这个问题的有效算法需要
O(n)
时间。我的主张成立吗???

好吧,有效的算法是:

  • 查找第一次出现的x的索引
  • 查找x最后一次出现的索引
  • 答案是(2)-(1)+1
  • 这仍然是O(logn)