其他分享
首页 > 其他分享> > 2022-3-20 Leetcode744. 寻找比目标字母大的最小字母

2022-3-20 Leetcode744. 寻找比目标字母大的最小字母

作者:互联网

在这里插入图片描述
在这里插入图片描述

class Solution {
public:
    char nextGreatestLetter(vector<char>& letters, char target) {
        if(target < letters[0] || letters.back() <= target)
        return letters[0];
        letters.erase(unique(letters.begin(),letters.end()),letters.end());
        //这方法真的是绝了,每天一个去重小技巧。
        int l = 0,r = letters.size()-1;
        while(l < r){
            int mid = (r-l)/2 + l;
            if(letters[mid] == target){
                return letters[mid+1];
            }
            else if(letters[mid] > target){
                r = mid;
            }
            else {
                l = mid+1;
                //左开右闭区间
            }
        }
        return letters[l];
    }
};

如何做到 vector 去重?

 vector<int> v;

    sort(v.begin(),v.end());
    v.erase(unique(v.begin(), v.end()), v.end());

参考文章:vector去除重复的元素

标签:letters,target,字母,end,mid,char,vector,2022,20
来源: https://blog.csdn.net/weixin_51187533/article/details/123610700