Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ตรวจสอบว่าองค์ประกอบทั้งหมดของอาร์เรย์เป็น palindrome หรือไม่ใน Python


สมมติว่าเรามีรายการตัวเลข nums เราต้องตรวจสอบว่ารายการนี้เป็น palindrome หรือไม่

เช่น ถ้าอินพุตเป็น nums = [10, 12, 15, 12, 10] ผลลัพธ์จะเป็น True

ในการแก้ปัญหานี้ เราจะทำตามขั้นตอนดังนี้:

  • n := ขนาดของ nums
  • reset is_palindrome
  • i := 0
  • while i <= ผลหารของ (n / 2) และ n ไม่ใช่ 0 ทำ
    • ถ้า nums[i] ไม่เท่ากับ nums[n - i - 1] แล้ว
      • ตั้งค่า is_palindrome
      • ออกจากลูป
    • i := i + 1
  • ถ้า is_palindrome ถูกตั้งค่า แล้ว
    • คืนค่า False
  • มิฉะนั้น
    • คืนค่า 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