สมมติว่าเรามีจำนวนเต็ม n โดยที่ตัวเลขเหล่านี้มีเพียง 1, 2 และ 3 เท่านั้น เราสามารถพลิกหนึ่งหลักเป็น 3 แล้วหาจำนวนสูงสุดที่เราสามารถทำได้
ดังนั้น หากอินพุตเป็น 11332 เอาต์พุตจะเป็น 31332
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
li :=รายการตามหลักของ n
-
สำหรับ x ในช่วง 0 ถึงขนาดของ li - 1 ทำ
-
ถ้า li[x] ไม่ใช่ '3' แล้ว
-
li[x] :='3'
-
ส่งคืนหมายเลขโดยการรวมตัวเลขจาก li
-
-
-
กลับ n
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
class Solution: def solve(self, n): li = list(str(n)) for x in range(len(li)): if li[x] != '3': li[x] = '3' return int(''.join(li)) return n ob = Solution() print(ob.solve(11332))
อินพุต
11332
ผลลัพธ์
31332