คำอธิบายปัญหา
กำหนด start และ end หาตัวเลขในช่วง [start, end] ที่ **หลักต่างๆ เพิ่มขึ้นติดกัน** (เช่น 5678 ✓, 169 ✗)
ตัวอย่าง
start = 10, end = 150 → Output: [12, 23, 34, 45, 56, 67, 78, 89, 123]
ขั้นตอนการแก้ปัญหา
- สตริงอ้างอิง
s = "123456789" - สร้าง substring ทุกช่วงของ s:
s[i:j](i < j) - แปลงเป็น int, ตรวจสอบอยู่ใน [start, end]
- เรียงลำดับคืนค่า
การตนการทำงาน (Python)
def solve(start, end):
s = "123456789"
a = []
for i in range(9):
for j in range(i + 1, 10):
x = int(s[i:j])
if start <= x <= end:
a.append(x)
return sorted(a)
start = 10
end = 150
print(solve(start, end)) # Output: [12, 23, 34, 45, 56, 67, 78, 89, 123]
อินพุต / เอาต์พุต
Input: 10, 150 Output: [12, 23, 34, 45, 56, 67, 78, 89, 123]