美文网首页
LeetCode之Find Smallest Letter Gr

LeetCode之Find Smallest Letter Gr

作者: 糕冷羊 | 来源:发表于2019-01-02 13:37 被阅读0次

问题:
Given a list of sorted characters letters containing only lowercase letters, and given a target letter target, find the smallest element in the list that is larger than the given target.
Letters also wrap around. For example, if the target is target = 'z' and letters = ['a', 'b'], the answer is 'a'.


方法:
两种情况:第一种target大于所有元素,则result应该返回所有元素的最小值;第二种情况target在'a'和'z'之间,则返回大于target的最小值。

具体实现:

class NextGreatestLetter {
    fun nextGreatestLetter(letters: CharArray, target: Char): Char {
        var result = 'z'
        var min = letters[0]
        var wrapAround = true
        for(ch in letters) {
            if (ch > target && ch <= result) {
                result = ch
                wrapAround = false
            }
            if (ch < min) {
                min = ch
            }
        }
        if (wrapAround) {
            return min
        }
        return result
    }
}

fun main(args: Array<String>) {
    val array = charArrayOf('c', 'f', 'j')
    val target = 'c'
    val nextGreatestLetter = NextGreatestLetter()
    val result = nextGreatestLetter.nextGreatestLetter(array, target)
    println("result: $result")
}

有问题随时沟通

具体代码实现可以参考Github

相关文章

网友评论

      本文标题:LeetCode之Find Smallest Letter Gr

      本文链接:https://www.haomeiwen.com/subject/wouglqtx.html