Computer >> Máy Tính >  >> Lập trình >> Python

Chèn 5 để tạo thành số lớn nhất trong Python

Giả sử chúng ta có một số n, chúng ta phải tìm số lớn nhất có thể tạo ra bằng cách chèn 5 vào bất kỳ chỗ nào trong số đó.

Vì vậy, nếu đầu vào là n =826, thì đầu ra sẽ là 8526.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • temp:=n dưới dạng một chuỗi
  • ans:=-inf
  • đối với tôi trong phạm vi từ 0 đến kích thước của nhiệt độ, hãy thực hiện
    • cand:=chuỗi con tạm thời từ chỉ số 0 đến tôi nối chuỗi con nối tiếp '5' của chuỗi con nối tiếp từ chỉ mục i đến cuối
    • nếu tôi giống với 0 và temp [0] giống với '-', thì
      • chuyển sang lần lặp tiếp theo
    • ans:=tối đa ans và số cand
  • trả lại ans

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

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))

Đầu vào

826

Đầu ra

8526