Giả sử chúng ta có một danh sách các số được gọi là nums. Chúng ta phải kiểm tra xem danh sách có luân phiên bắt đầu từ tăng nghiêm ngặt, giảm nghiêm ngặt và sau đó tăng nghiêm ngặt hay không, v.v. Và nếu danh sách chỉ tăng lên một cách nghiêm ngặt, nó sẽ có giá trị.
Vì vậy, nếu đầu vào giống như nums =[2, 4, 8, 7, 5, 1, 5, 7, 2, 1], thì đầu ra sẽ là True, vì [2,4,8] đang tăng lên, khi đó [7,5,1] đang giảm, sau đó một lần nữa [5,7] đang tăng và [2,1] đang giảm.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- nếu nums [1] <=nums [0], thì
- trả về Sai
- đối với tôi trong phạm vi từ 0 đến kích thước của nums, hãy thực hiện
- nếu tôi - 1> =0, thì
- nếu nums [i] giống nums [i - 1], thì
- trả về Sai
- nếu nums [i] giống nums [i - 1], thì
- nếu tôi - 1> =0, thì
- trả về True
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
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))
Đầu vào
[2, 4, 8, 7, 5, 1, 5, 7, 2, 1]
Đầu ra
True