Leetcode二分查找9:744. 寻找比目标字母大的最小字母

链接:https://leetcode-cn.com/problems/find-smallest-letter-greater-than-target/https://leetcode-cn.com/problems/find-smallest-letter-greater-than-target/

题意就是二分+取余操作。

当目标字母 target 比字符列表中的所有字母都大,返回的是字符列表中的第一个字母,否则返回的是 letters[left],所以可以将上一段代码进行优化一下,采用取余运算。

当 l < letters.size() 时,left 对 letters.size() 取余,结果是自身;

当 l==letters.size() 时,left 对 letters.size() 取余,结果 0;

class Solution {
public:
    char nextGreatestLetter(vector& letters, char target) {
        int l=0,r=letters.size();
        int n=letters.size();
        while(l

你可能感兴趣的:(c++,leetcode)