问题描述
我编写了一个代码,目的是返回 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 (将#修改为@)