# 744. Find Smallest Letter Greater Than Target

## Problem

{% embed url="<https://leetcode.com/problems/find-smallest-letter-greater-than-target/description/>" %}

## Intuition

## Time Complexity

## Space Complexity

## Solution

```java
class Solution {
    public char nextGreatestLetter(char[] letters, char target) {
        // n -> number of elements in nums
        // Time Complexity: O(log n);
        // Space Complexity: O(1), auxillary space, no extra space is used

        // Start and end positions 
        int low = -1, high = letters.length;

        while(low + 1 < high) {
            int mid = low + (high-low)/2;
            // This is ceiling of the target
            // So we try to look out for first position which is greater than target
            if(letters[mid] > target) {
                high = mid;
            } else {
                low = mid;
            }
        }

        // If we end up at last index position, it is given that letters[0] needs
        // to be returned
        if(high == letters.length) {
            return letters[0];
        }

        return letters[high];
    }
}
```
