สมมติว่าเรามีจำนวนเต็ม 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