สมมติว่าเรามีรายการตัวเลข เราต้องเช็คก่อนว่ารายชื่อพาลินโดรมหรือเปล่า
ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[10, 12, 15, 12, 10] ผลลัพธ์จะเป็น True
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- n :=ขนาดของ nums
- รีเซ็ต is_palindrome
- ผม :=0
- ในขณะที่ i <=ผลหารของ (n / 2) และ n ไม่ใช่ 0, do
- ถ้า nums[i] ไม่เหมือนกับ nums[n - i - 1] แล้ว
- ตั้งค่า is_palindrome
- ออกมาจากวงจร
- ผม :=ผม + 1
- ถ้า nums[i] ไม่เหมือนกับ nums[n - i - 1] แล้ว
- ถ้า is_palindrome ถูกตั้งค่าไว้
- คืนค่าเท็จ
- มิฉะนั้น
- คืนค่า True
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
def solve(nums): n = len(nums) is_palindrome = 0 i = 0 while i <= n // 2 and n != 0: if nums[i] != nums[n - i - 1]: is_palindrome = 1 break i += 1 if is_palindrome == 1: return False else: return True nums = [10, 12, 15, 12, 10] print(solve(nums))
อินพุต
[10, 12, 15, 12, 10]
ผลลัพธ์
True