Python程式:查詢首字母相同的單詞


假設我們有一組小寫字母單詞,我們需要找到所有單詞首字母相同的連續子列表的最大長度。

例如,如果輸入是 ["she", "sells", "seashells", "on", "the", "seashore"],則輸出為 3,因為三個連續的單詞 "she"、"sells"、"seashells" 的首字母都是 's'。

為了解決這個問題,我們將遵循以下步驟:

  • maxlength := 0
  • curr_letter := Null, curr_length := 0
  • 遍歷words中的每個單詞:
    • 如果 curr_letter 為空或 curr_letter 與 word[0] 不相同,則
      • maxlength := maxlength 和 curr_length 之間的最大值
      • curr_letter := word[0], curr_length := 1
    • 否則:
      • curr_length := curr_length + 1
  • 返回 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

更新於:2020年10月6日

331 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.