ACWING69. 배열 인덱스 값과 동일한 요소 (제안은 안전을 증명하기 위해)

정수의 단조롭게 증가하는 배열을 가정하고 각 요소는 독특하다.

대상 요소 중 어느 하나에 해당하는 함수 값을 프로그래밍의 배열을 검색 할 수 있습니다.

예를 들어, 어레이 [-3, -1, 1, 3, 5, 및 수 3 인덱스와 동일하다.

시료
입력 : - (3) -1, 1, 3, 5]

출력 : 3
참고 :이없는 경우는 -1을 돌려줍니다.

class Solution {
public:
    int getNumberSameAsIndex(vector<int>& nums) {
        if(!nums.size()) return -1;
        int l = 0,r = nums.size() - 1;
        int ans = -1;
        while(l <= r) {
            int mid = (l + r) >> 1;
            if(nums[mid] <= mid) {
                l = mid + 1;
                ans = mid;
            }
            else {
                r = mid - 1;
            }
        }
        if(nums[r] != r) return -1;
        return ans;
    }
};
게시 된 843 개 원래 기사 · 원 찬양 28 ·은 40000 +를 볼

추천

출처blog.csdn.net/tomjobs/article/details/104996489