LCR 172.点名

​​题目来源:

        leetcode题目,网址:LCR 173. 点名 - 力扣(LeetCode)

解题思路:

        二分找出第一个不是递增 1 的位置即可。

解题代码:

class Solution {
public:
    int takeAttendance(vector& records) {
        if(records[0]!=0){
            return 0;
        }else if(records[records.size()-1]!=records.size()){
            return records.size();
        }
        int left=1;
        int right=records.size()-1;        
        while(left<=right){
            int mid=left+(right-left)/2;
            if(records[mid-1]==mid-1 && records[mid]>mid){
                return mid;
            }else if(records[mid]==mid){
                left=mid+1;
            }else{
                right=mid-1;
            }
        }
        return -1;
    }
};
 
  

总结:

        无官方题解。


你可能感兴趣的:(#,C++,LeetCode,C++)