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

โปรแกรมตรวจสอบว่ารายการบล็อกที่กำหนดมีความสมมาตรเหนือเส้น x =y หรือไม่ใน python


สมมติว่าเรามีรายการหมายเลขที่เรียกว่า nums และมันแสดงถึงความสูงของบล็อกสี่เหลี่ยม เราต้องตรวจสอบว่ารูปร่างนั้นสมมาตรเหนือเส้น y =x หรือไม่

ดังนั้น หากอินพุตเป็น nums =[7, 5, 3, 2, 2, 1, 1] ผลลัพธ์จะเป็น True

โปรแกรมตรวจสอบว่ารายการบล็อกที่กำหนดมีความสมมาตรเหนือเส้น x =y หรือไม่ใน python

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้:

  • ผม :=0
  • j :=ขนาดของ nums - 1
  • ในขณะที่ฉัน <=j ทำ
    • h :=nums[j]
    • ในขณะที่ฉัน
    • ถ้า nums[i] ไม่เหมือนกับ (j + 1) แล้ว
      • คืนค่าเท็จ
    • ผม :=ผม + 1
  • j :=j - 1
  • คืนค่า True
  • ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น:

    ตัวอย่าง

    class Solution:
       def solve(self, nums):
          i = 0
          j = len(nums) - 1
          while i <= j:
             h = nums[j]
             while i < h:
                if nums[i] != j + 1:
                   return False
                i += 1
                j -= 1
          return True
    
    ob = Solution()
    nums = [7, 5, 3, 2, 2, 1, 1]
    print(ob.solve(nums))

    อินพุต

    [7, 5, 3, 2, 2, 1, 1]

    ผลลัพธ์

    True