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