(C++) LeetCode 35 : 삽입 위치 찾기

문제

질문 불러오는 중… – LeetCode

위치 찾기 – LeetCode

이 실제 인터뷰 질문을 해결할 수 있습니까? 검색 삽입 위치 – 개별 정수의 정렬된 배열과 대상 값이 주어지면 대상이 발견되면 인덱스가 반환됩니다. 그렇지 않은 경우 순서대로 삽입된 인덱스를 반환합니다. 당신은 w해야합니다

leetcode.com

암호
class Solution
{
    public:
        int searchInsert(vector<int> &nums, int target)
        {
            int lo = 0;
            int hi = nums.size() - 1;
            int res = nums.size();

            while (lo <= hi)
            {
                int md = (lo + hi) / 2;
                if (nums(md) < target)
                {
                    lo = md + 1;
                }
                else
                {
                    res = md;
                    hi = md - 1;
                }
            }
            return res;
        }
};
설명

오름차순으로 벡터와 숫자가 주어지면 문제는 오름차순을 유지하면서 해당 숫자를 삽입할 첫 번째 위치를 찾는 것입니다.

중심점이 대상보다 작으면 왼쪽 영역을 제외하고 삽입할 수 없습니다.
target보다 크거나 같으면 삽입할 수 있으므로 오른쪽 구획을 제외하고 색인을 저장합니다.
반복하면 res에 삽입할 수 있는 첫 번째 위치가 저장됩니다.

그러나 벡터의 모든 숫자가 목표보다 작은 경우 res는 초기 값에서 변경되지 않습니다.
res의 초기값은 마지막 위치로 설정되어야 합니다.