So for example I have this sorted array of `x`

amount of Key, Value pairs(tuples). I have a method called `range`

which takes 2 arguments, the first is the first key to find and the second is the last key to find. This function returns all of the keys between the two. So `range`

uses binary search to find the first element and once it does, it uses linear search to go until the last key has been found. I thought this entire thing would have a runtime of O(log(n)) but now I am second guessing myself as it takes longer to execute than I’d like. So my question is what would be the runtime of this function since I seem to be mistaken?

### >Solution :

worst-case complexity – [**O(log(n))+O(n) = O(n)**]

just think of a case where first key is index-1 and second one is index-n in worst case scenario.

hope it can help you.