744.寻找比目标字母大的最小字母 (Easy)*
题目描述*

标签*
二分查找;
思路 & 代码*
查找左边界,主要就是解决字母循环排序的比较问题。开始还在想怎么比较,后来看到题解,搜索不到大的就返回首元素即可。
class Solution {
public:
char nextGreatestLetter(vector<char>& letters, char target) {
int n = letters.size();
int l = 0, r = n;
while(l < r) {
int mid = l + (r - l) / 2;
if(target >= letters[mid]) {
l = mid + 1;
}else {
r = mid;
}
}
return letters[l % n];
}
};
最后更新: July 23, 2022