使用 Python 找出字串中的第二大數字這一程式


假設我們有一個字母數字字串 s,我們必須在 s 中找到出現的第二大數字,如果沒有這樣的字串,則返回 -1。

因此,如果輸入為 s = "p84t3ho1n",則輸出為 4,因為數字為 [1,3,4,8],因此第二大數字為 4。

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

  • lst := 一組新的集合

  • 對於 s 中的每個字母,執行以下操作

    • 如果字母不是字母,則

      • 將字母作為整數插入到 lst

  • 如果 lst 大小 <= 1,則

    • 返回 -1

  • 返回對 lst 進行排序後的倒數第二個元素

讓我們看看以下實現,以獲得更好的理解:

示例

 現場演示

def solve(s):
   lst = set()
   for let in s:
      if not let.isalpha():
         lst.add(int(let))
   if len(lst) <= 1:
         return -1
   return sorted(list(lst))[len(lst) - 2]
s = "p84t3ho1n"
print(solve(s))

輸入

"hello", "hlelo"

輸出

True

更新日期: 2021 年 5 月 29 日

788 次瀏覽

開啟你的 職業生涯

完成本課程,獲得認證

開始
廣告