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

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


สมมติว่าเรามีรายการตัวเลข เราต้องเช็คก่อนว่ารายชื่อพาลินโดรมหรือเปล่า

ดังนั้น หากอินพุตมีค่าเท่ากับ 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
  • ถ้า 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