สมมติว่าเรามีตัวเลข n เราต้องหาจำนวนสูงสุดที่เราสามารถทำได้โดยใส่ 5 ลงไปที่ใดก็ได้ในตัวเลข
ดังนั้น หากอินพุตเท่ากับ n =826 เอาต์พุตจะเป็น 8526
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- temp :=n เป็นสตริง
- ตอบ :=-inf
- สำหรับ i ในช่วง 0 ถึงขนาดของอุณหภูมิ ให้ทำ
- cand :=สตริงย่อยของ temp จากดัชนี 0 ถึง i เชื่อม '5' เชื่อมสตริงย่อย oftemp จากดัชนี i ไปยังจุดสิ้นสุด
- ถ้าฉันเหมือนกับ 0 และ temp[0] เหมือนกับ '-' แล้ว
- ติดตามตอนต่อไป
- ans :=สูงสุดของ ans และจำนวน cand
- คืนสินค้า
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
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