https://leetcode.com/problems/binary-search/description/
기본적인 binary search 문제.
TC log(N)기반의 타 문제 풀이들의 근간이 되므로, 잘 숙지 해 둘 것.
int searchBS(vector<int>& nums, int left, int right, int target)
{
if(left > right)
return -1;
int mid = left + (right-left) / 2;
if(nums[mid] == target)
return mid;
else if(nums[mid] < target)
return searchBS(nums, mid+1, right, target);
else
return searchBS(nums, left, mid-1, target);
}
public:
int search(vector<int>& nums, int target)
{
return searchBS(nums, 0, nums.size()-1, target);
}
결과
'Leetcode > NeetCode' 카테고리의 다른 글
[BinarySearch][Medium] 875. Koko Eating Banans (0) | 2024.07.12 |
---|---|
[BinarySearch][Medium] 74. Search a 2D Matrix (0) | 2024.07.12 |
[stack][Medium] 739. Daily Temperatures (0) | 2024.07.11 |
[stack][Medium] 22. Generate Parentheses (0) | 2024.07.11 |
[stack][Medium] 150. Evaluate Reverse Polish Notation (0) | 2024.07.11 |