Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

แทรก 5 เพื่อทำให้ตัวเลขใหญ่ที่สุดใน Python


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