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