您的位置:首页 > 其它

LeetCode之Find Smallest Letter Greater Than Target(Kotlin)

2017-12-20 23:32 471 查看
问题:

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 kotlin