程序查找在Python中共享相同首字母的所有单词

假设我们有一个小写字母的单词列表,我们必须找到所有单词具有相同首字母的最长连续子列表的长度。

因此,如果输入类似于[“ she”,“ sells”,“ seashells”,“ on”,“ the”,“ seashore”]],则输出为3,因为三个连续的单词分别是“ she”,“ sells” ”,“贝壳”,都具有相同的首字母“ s”。

为了解决这个问题,我们将遵循以下步骤-

  • 最大长度:= 0

  • curr_letter:=空,curr_length:= 0

  • 对于单词中的每个单词,

    • curr_length:= curr_length + 1

    • maxlength:= maxlength的最大值,curr_length

    • curr_letter:= word [0],curr_length:= 1

    • 如果curr_letter为null或curr_letter与word [0]不同,则

    • 除此以外,

    • 返回maxlength和curr_length的最大值

    让我们看下面的实现以更好地理解-

    示例

    class Solution:
       def solve(self, words):
          maxlength = 0
          curr_letter, curr_length = None, 0
          for word in words:
             if not curr_letter or curr_letter != word[0]:
                maxlength = max(maxlength, curr_length)
                curr_letter, curr_length = word[0], 1
             else:
                curr_length += 1
          return max(maxlength, curr_length)
    ob = Solution()
    words = ["she", "sells", "seashells", "on", "the", "seashore"]
    print(ob.solve(words))

    输入项

    ["she", "sells", "seashells", "on", "the", "seashore"]

    输出结果

    3
    猜你喜欢