problems(cpp): add “744. Find Smallest Letter Greater Than Target”

Signed-off-by: Matej Focko <mfocko@redhat.com>
This commit is contained in:
Matej Focko 2023-06-09 16:04:35 +02:00
parent 6e2c2c2fbd
commit 54f486a1b9
Signed by: mfocko
GPG key ID: 7C47D46246790496

View file

@ -0,0 +1,23 @@
#include <algorithm>
#include <cassert>
#include <vector>
class Solution {
public:
char nextGreatestLetter(const std::vector<char>& letters, char target)
{
auto it = std::lower_bound(letters.begin(), letters.end(), target + 1);
return it == letters.end() ? letters.front() : *it;
}
};
int main()
{
Solution s;
assert((s.nextGreatestLetter(std::vector { 'c', 'f', 'j' }, 'a') == 'c'));
assert((s.nextGreatestLetter(std::vector { 'c', 'f', 'j' }, 'c') == 'f'));
assert((s.nextGreatestLetter(std::vector { 'x', 'x', 'y', 'y' }, 'z') == 'x'));
return 0;
}