题目来源:
leetcode题目,网址:LCR 173. 点名 - 力扣(LeetCode)
解题思路:
二分找出第一个不是递增 1 的位置即可。
解题代码:
class Solution {
public:
int takeAttendance(vector<int>& 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;
}
};
总结:
无官方题解。