Files
cpp-flashcards/org/study_deck_02/dsa/binary-search/0704-binary-search.org
T

59 lines
1.2 KiB
Org Mode
Raw Normal View History

#+PROPERTY: STUDY_DECK_02
* TODO 0704. Binary Search :easy:
:PROPERTIES:
:NEETCODE: [[file:../../roadmap.org::*0704. Binary Search][0704. Binary Search]]
:END:
Given an array of integers ~nums~ which is sorted in ascending order, and an integer ~target~, write a function to search ~target~ in ~nums~. If ~target~ exists, then return its index. Otherwise, return ~-1~.
You must write an algorithm with ~O(log n)~ runtime complexity.
*Example 1:*
#+begin_src
Input: nums = [-1,0,3,5,9,12], target = 9
Output: 4
Explanation: 9 exists in nums and its index is 4
#+end_src
*Example 2:*
#+begin_src
Input: nums = [-1,0,3,5,9,12], target = 2
Output: -1
Explanation: 2 does not exist in nums so return -1
#+end_src
*Constraints:*
- ~1 <= nums.length <= 10^{4}~
- ~-10^{4} < nums[i], target < 10^{4}~
- All the integers in ~nums~ are *unique*.
- ~nums~ is sorted in ascending order.
** TODO Approach
Write your approach here.
** TODO Python
#+begin_src python
class Solution:
def search(self, nums: List[int], target: int) -> int:
#+end_src
** TODO C++
#+begin_src cpp
class Solution {
public:
int search(vector<int>& nums, int target) {
}
};
#+end_src