Python程式:在任意位置新增5後查詢最大數


假設我們有一個數字n,我們需要找到透過在該數字的任意位置插入5可以得到的最大數字。

例如,如果輸入n = 834,則輸出將為8534。

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

  • 如果n > 0,則

    • s := 將n轉換為字串

    • k := 空字串

    • c := False

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

      • 如果i < 5 且c為False,則

        • k := k 連線 "5" 連線 i

        • c := True

      • 否則,

        • k := k 連線 i

    • 返回k作為整數

  • 否則,

    • k := 空字串

    • s := |n| 轉換為字串

    • c := False

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

      • 如果i > 5 且c為False,則

        • k := k 連線 "5" 連線 i

        • c := True

      • 否則,

        • k := k 連線 i

    • 如果c為false,則

      • k := k 連線 "5"

  • 返回(-k)

示例

讓我們看下面的實現來更好地理解

def solve(n):
   if n > 0:
      s = str(n)
      k = ""
      c = False
      for i in s:
         if int(i) < 5 and c == False:
            k += "5" + i
            c = True
         else:
            k += i
      return int(k)
   else:
      k = ""
      s = str(abs(n))
      c = False
      for i in s:
         if int(i) > 5 and c == False:
            k += "5" + i
            c = True
         else:
            k += i
      if not c:
          k += "5"
      return int("-" + k)

n = 834
print(solve(n))

輸入

834

輸出

8534

更新於:2021年10月12日

89 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告