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,851 questions

51,772 answers

573 users

How to find the smallest letter in a sorted slice that is larger than a given letter in Go

1 Answer

0 votes
package main

import (
    "fmt"
)

// Function to find the smallest letter greater than the given letter
func findSmallestLetterGreaterThanTarget(letters []rune, givenLetter rune) rune {
    left := 0
    right := len(letters) - 1
    result := letters[0] // Default to the first letter

    for left <= right {
        mid := left + (right - left) / 2

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

    return result
}

func main() {
    letters := []rune{'c', 'e', 'k', 'm'}
    givenLetter := 'd'

    result := findSmallestLetterGreaterThanTarget(letters, givenLetter)

    fmt.Printf("The smallest letter greater than '%c' is: %c\n", givenLetter, result)
}


/*
run:

The smallest letter greater than 'd' is: e

*/

 



answered Sep 22, 2025 by avibootz
...