0
点赞
收藏
分享

微信扫一扫

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

你的益达233 2022-03-20 阅读 24
leetcode

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

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去除重复的元素

举报

相关推荐

寻找比目字母大的最小字母

0 条评论