+ 1

A simple question because i'm đŸ€•

How it works when entering numbers 0 3 9 8 9 https://code.sololearn.com/cq1ef3tOWL1P/?ref=app

10th Apr 2020, 8:29 AM
shiryaeva
shiryaeva - avatar
2 Answers
+ 4
The code searches for the minimum number among the numbers for which the preceding and next elements are both greater than the number itself. you can rewrite your condition as follow for better understanding: if a[i-1] > a[i] < a[i+1]: # cur element is less than both prev and next? if (k == -1) or (a[i]<k): # k equals to "invalid" value (-1) or cur element less than k? k = a[i] For list [0, 3, 9, 8, 9] the all conditions will be true only on 3rd iteration(when i==3) because (a[2] > a[3]) and a([3] < a[4]) and (k == -1): (9 > 8) and (8 < 9) and (-1==-1) loop iterates for i from 1 to 3 inclusively. After first and second iterations k will be unchanged (conditions are evaluated to false). On 3rd iteration k will be set to a[3] = 8 So, the output will be 8
10th Apr 2020, 9:19 AM
andriy kan
andriy kan - avatar
+ 1
Indeed, it was only neccesary to seperate the condition in order to understand 😊 Thank you (àč‘-ïč-àč‘)
10th Apr 2020, 9:28 AM
shiryaeva
shiryaeva - avatar