สมมติว่าเรามีตัวเลข 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