在 Python 中插入 5 使数字最大


假设我们有一个数字 n,我们要找出在数字中任何位置插入 5 后可以形成的最大数字。

因此,如果输入为 n = 826,则输出将为 8526。

为解决此问题,我们将按照以下步骤进行操作 −

  • temp := n 作为字符串
  • ans := -inf
  • 对于从 0 到 temp 大小的 i,进行操作
    • cand := 从索引 0 到 i 的 temp 子字符串连接“5”连接从索引 i 到结尾的 temp 子字符串
    • 如果 i 与 0 相同且 temp[0] 与“-”相同,则
      • 转到下一个迭代
    • ans := ans 和数字 cand 的最大值
  • 返回 ans

让我们来看一下以下实现以更好地理解 −

示例

 实际演示

class Solution:
   def solve(self, n):
      temp = str(n)
      ans = float('-inf')
      for i in range(len(temp) + 1):
         cand = temp[:i] + '5' + temp[i:]
         if i == 0 and temp[0] == '-':
            continue
            ans = max(ans, int(cand))
      return ans
ob = Solution()
print(ob.solve(826))

输入

826

输出

8526

更新于:2020 年 9 月 23 日

439 次浏览

开启您的 职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.