草庐IT

sortedArrayOfInts

全部标签

java - 将二进制搜索与带重复项的排序数组一起使用

这个问题在这里已经有了答案:Findingmultipleentrieswithbinarysearch(14个答案)关闭3年前。我的任务是创建一个方法,该方法将打印在排序数组中找到值x的所有索引。我知道如果我们只是从0到N(数组长度)扫描数组,最坏情况下的运行时间为O(n)。由于将对传递给该方法的数组进行排序,我假设我可以利用二进制搜索,因为这将是O(logn)。但是,这仅在数组具有唯一值时才有效。由于二进制搜索将在第一次“找到”特定值后完成。我正在考虑进行二进制搜索以在排序的数组中找到x,然后检查该索引前后的所有值,但是如果数组包含所有x值,它似乎并没有那么好。我想我想问的是,有没