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

โปรแกรมตรวจสอบ global และ local inversions เท่ากันหรือไม่ใน Python

สมมติว่ามีรายการตัวเลขไม่ซ้ำ nums Global inversion คือ inums[j] Local inversion คือ i และ i+1 ที่ nums[i]>nums[i+1] ต้องการตรวจสอบว่าจำนวน global = local หรือไม่

ตัวอย่าง: nums = [3,2,4] ผลลัพธ์ True index 0,1 เป็นทั้ง global และ local

ขั้นตอนการแก้ปัญหา

  1. l = len(nums)
  2. วน i จาก 0 ถึง l-3:
    • วน j จาก i+2 ถึง l-1:
      • ถ้า nums[i] > nums[j]: คืน False (พบ global ไม่ใช่ local)
  3. คืน True

ตัวอย่างโค้ด

class Solution:
    def solve(self, nums):
        l = len(nums)
        for i in range(l - 2):
            for j in range(i + 2, l):
                if nums[i] > nums[j]:
                    return False
        return True

ob = Solution()
nums = [3, 2, 4]
print(ob.solve(nums))

อินพุต

[3, 2, 4]

เอาต์พุต

True