大于目标的最小字母

问题描述

我编写了一个代码,目的是返回 target 字母 h 之后的最小字母,所以在本例中,它是 i。但是,下面的代码不会产生输出。有任何想法吗?我感觉问题出在第一个 if 语句中。

letters = [
    'a','b','c','d','e','g','h','i','j','k','l','m','n','o','p','q','r','s','t'
]

target = 'h'
left = 0
right = len(letters) - 1
mid = left + (right - left) // 2

while left < right:
    if mid == target:
        for i in range(letters[mid],letters[len(letters)]):
            if letters[i] != target:
                print(letters[i])
                break

    if letters[mid] < target:
        left = mid + 1
    elif letters[mid] > target:
        right = mid - 1

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)