Giả sử chúng ta có một mảng các số dương; trước tiên chúng ta phải kiểm tra một điểm / mục mà mục nào tạo ra một chuỗi giảm dần, sau đó là một chuỗi các số nguyên tăng dần. Đây là những thuộc tính sau:Chúng ta phải ghi nhớ rằng các trình tự phải có độ dài tối thiểu là 2
Ngoài ra, chúng tôi đã lưu ý rằng giá trị cuối cùng của chuỗi giảm dần là giá trị đầu tiên của chuỗi tăng.
Vì vậy, nếu đầu vào giống như {5, 4, 3, 4}, thì đầu ra sẽ là 3, vì {5, 4, 3} đang giảm dần thì {3, 4} đang tăng lên.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- tăng:=1, giảm:=1
- n:=kích thước của mảng
- đối với tôi trong phạm vi từ 1 đến n, thực hiện
- if array [i]
- nếu mức tăng giống như 1, thì
- giảm:=giảm + 1
- nếu không,
- trả về -1
- nếu mức tăng giống như 1, thì
- if array [i]
- ngược lại khi array [i]> array [i-1] khác 0 thì
- nếu mức tăng giống như 1, thì
- pt:=array [i-1]
- nếu giảm> =2, thì
- tăng:=tăng + 1
- nếu không,
- trả về -1
- nếu mức tăng giống như 1, thì
- ngược lại khi mảng [i] giống với mảng [i-1] thì
- trả về -1
- trả về pt
- trả về -1
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
def search_element(array): increase = 1 decrease = 1 n = len(array) for i in range(1, n): if(array[i] < array[i-1]): if increase == 1: decrease = decrease + 1 else: return -1 elif(array[i] > array[i-1]): if increase == 1: pt = array[i-1] if decrease >= 2: increase = increase + 1 else: return -1 elif(array[i] == array[i-1]): return -1 if(increase >= 2 and decrease >= 2): return pt else: return -1 array = [5,4,3,4] element = search_element(array) print(element)
Đầu vào
[5,4,3,4]
Đầu ra
3