본문 바로가기

Algorithm/Binary Search

(C++) - LeetCode (easy) 704. Binary Search

반응형

https://leetcode.com/problems/binary-search/description/

 

Binary Search - LeetCode

Can you solve this real interview question? Binary Search - 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.

leetcode.com

이분탐색 문제였습니다.

📕 풀이방법

📔 풀이과정

target이상의 iterator를 반환하는 lower_bound 함수를 수행한 결과를 변수 iter를 선언해 저장해줍니다.

📔 정답 출력 | 반환

iter가 nums.end()거나 target에 해당하는 수가 없다면 -1을 반환합니다.

이외의 경우 target이 저장된 nums의 index를 반환합니다.


📕 Code

📔 C++

class Solution {
public:
    int search(vector<int>& nums, int target) {
        auto iter = lower_bound(nums.begin(), nums.end(), target);
        if(iter == nums.end() || *iter != target) return -1;
        return iter - nums.begin();
    }
};

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.