LC: 702. Search in a Sorted Array of Unknown Size
https://leetcode.com/problems/search-in-a-sorted-array-of-unknown-size/
This is an interactive problem.
You have a sorted array of unique elements and an unknown size. You do not have an access to the array but you can use the ArrayReader interface to access it. You can call ArrayReader.get(i) that:
returns the value at the
ithindex (0-indexed) of the secret array (i.e.,secret[i]), orreturns
231 - 1if theiis out of the boundary of the array.
You are also given an integer target.
Return the index k of the hidden array where secret[k] == target or return -1 otherwise.
You must write an algorithm with O(log n) runtime complexity.
Example 1:
Input: secret = [-1,0,3,5,9,12], target = 9
Output: 4
Explanation: 9 exists in secret and its index is 4.Example 2:
Input: secret = [-1,0,3,5,9,12], target = 2
Output: -1
Explanation: 2 does not exist in secret so return -1.Constraints:
1 <= secret.length <= 104-104 <= secret[i], target <= 104secretis sorted in a strictly increasing order.
The Essence:
Man kann hier binäre Suche benutzen, bei welcher man annimmt, dass die Länge des Arrays eine genügend große Zahl ist.
Details:
Wie oben erwähnt, ist eine Implementation der binären Suche genügend für dieses Problem, da dieser Algorithmus immer der Zeitkomplexität O(log n) ist.
Solution: https://github.com/spiralgo/algorithms/pull/269
Default Code:
Last updated