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

โปรแกรมตรวจสอบว่ารายการสลับเพิ่มลดหรือไม่ใน Python

สมมติว่าเรามีรายการตัวเลขชื่อ nums เราต้องตรวจสอบว่ารายการสลับกันระหว่างเพิ่มขึ้นอย่างเคร่งครัด (strictly increasing) แล้วลดลงอย่างเคร่งครัด (strictly decreasing) แล้วเพิ่มขึ้นอีก และต่อไป และถ้ารายการเพิ่มขึ้นอย่างเคร่งครัดอย่างเดียว ก็ถือว่าถูกต้อง

เช่น ถ้าอินพุตคือ nums = [2, 4, 8, 7, 5, 1, 5, 7, 2, 1] ผลลัพธ์จะเป็น True เพราะ [2,4,8] เพิ่ม, [7,5,1] ลด, [5,7] เพิ่ม, [2,1] ลด

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

  1. ถ้า nums[1] <= nums[0] คืนค่า False
  2. สำหรับ i ในช่วง 0 ถึง ขนาดของ nums:
    • ถ้า i - 1 >= 0 และ nums[i] == nums[i-1] คืนค่า False
  3. คืนค่า True

ตัวอย่างการใช้งาน

def solve(nums):
    if nums[1] <= nums[0]:
        return False
    for i in range(len(nums)):
        if i - 1 >= 0:
            if nums[i] == nums[i - 1]:
                return False
    return True

nums = [2, 4, 8, 7, 5, 1, 5, 7, 2, 1]
print(solve(nums))

อินพุต

[2, 4, 8, 7, 5, 1, 5, 7, 2, 1]

เอาต์พุต

True