สมมติว่าเรามีรายการหมายเลขที่เรียกว่า nums เราต้องตรวจสอบว่ารายการสลับกันตั้งแต่เพิ่มอย่างเข้มงวดแล้วลดน้อยลงแล้วเพิ่มขึ้นเรื่อย ๆ เรื่อย ๆ และหากรายการเพิ่มขึ้นอย่างเคร่งครัดก็จะมีผลบังคับ
ดังนั้น หากอินพุตเป็น nums =[2, 4, 8, 7, 5, 1, 5, 7, 2, 1] ผลลัพธ์จะเป็น True เพราะ [2,4,8] กำลังเพิ่มขึ้น ดังนั้น [7,5,1] กำลังลดลง จากนั้นอีกครั้ง [5,7] กำลังเพิ่มขึ้นและ [2,1] กำลังลดลง
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- ถ้า nums[1] <=nums[0] แล้ว
- คืนค่าเท็จ
- สำหรับ i ในช่วง 0 ถึงขนาดของ nums ให้ทำ
- ถ้า i - 1>=0 แล้ว
- ถ้า nums[i] เหมือนกับ nums[i - 1] แล้ว
- คืนค่าเท็จ
- ถ้า nums[i] เหมือนกับ nums[i - 1] แล้ว
- ถ้า i - 1>=0 แล้ว
- คืนค่า 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