假设您拿到了字符串'a'和'z',并将它们之间的所有字符串按字母顺序列出:['a','b','c' ... 'x','y','z']。找到这个列表的中点,你会发现'm'。所以这有点像取这两个字符串的平均值。
您可以将其扩展到具有多个字符的字符串,例如在列表['aa','ab','ac' ... 'zx','zy','zz']的中间找到'aa'和'zz'的中点。
可能有一个Python方法可以做到这一点吗?如果没有,知道算法的名称甚至也有帮助。
我开始编写自己的例程,简单地遍历两个字符串,并找到第一个不同字母的中点,这似乎在'aa'和'az'的中点为'am'时运行良好,但是在'cat','doggie'的中点失败,因为它认为中点是'c'。我尝试通过谷歌搜索“二分查找字符串中点”等,但是由于不知道我正在尝试做什么的名称,所以没有什么收获。
我添加了自己的解决方案作为答案。
您可以将其扩展到具有多个字符的字符串,例如在列表['aa','ab','ac' ... 'zx','zy','zz']的中间找到'aa'和'zz'的中点。
可能有一个Python方法可以做到这一点吗?如果没有,知道算法的名称甚至也有帮助。
我开始编写自己的例程,简单地遍历两个字符串,并找到第一个不同字母的中点,这似乎在'aa'和'az'的中点为'am'时运行良好,但是在'cat','doggie'的中点失败,因为它认为中点是'c'。我尝试通过谷歌搜索“二分查找字符串中点”等,但是由于不知道我正在尝试做什么的名称,所以没有什么收获。
我添加了自己的解决方案作为答案。