这道题明明很简单,但是我也弄了好久。
之前yxc讲的是从n-1开始,但是这里弄了从l开始。
可能还是不熟悉二分吧,还要多理解。
class Solution {
public:
char nextGreatestLetter(vector<char>& letters, char target) {
int l = 0, r = letters.size();
while(l < r){
int mid = l + r >> 1;
if(letters[mid] > target) r = mid;
else l = mid + 1;
}
return letters[l%letters.size()];
}
};