Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,846 questions

51,767 answers

573 users

How to find the smallest letter in a sorted vector that is larger than a given letter in C++

1 Answer

0 votes
#include <iostream>
#include <vector>

char findSmallestLetterGreaterThanTarget(const std::vector<char>& letters, char given_letter) {
    int left = 0, right = letters.size() - 1;
    char result = letters[0]; // Default to the first letter 

    while (left <= right) {
        int mid = left + (right - left) / 2;

        if (letters[mid] > given_letter) {
            result = letters[mid];
            right = mid - 1; // Narrow down to the left half
        } else {
            left = mid + 1; // Narrow down to the right half
        }
    }

    return result;
}

int main() {
    std::vector<char> letters = {'c', 'e', 'k', 'm'};
    char given_letter = 'd';

    char result = findSmallestLetterGreaterThanTarget(letters, given_letter);
    
    std::cout << "The smallest letter greater than '" << given_letter << "' is: " << result << "\n";
}



/*
run:

The smallest letter greater than 'd' is: e

*/

 



answered Sep 20, 2025 by avibootz
edited Sep 21, 2025 by avibootz
...