find the path with minimum number of operations taken to reach {**end**} from {**start**} in an array {**xs**} if only two operations are allowed 1. *left* (move {**l**} places to the left) and 2. *right* (move {**r**} places to the right) Note - your path must never reach a node with value 0 **xs** = array **l** = left steps **r** = right steps **start** = start position **end** = end position ex - if you are at index 10 - and **l** = 3, you will reach index 7 (with a *left* operation) if the value at index 7 is not 0 - and **r** = 2, you will reach index 12 (with a *right* operation) if the value at index 12 is not 0 ```go xs := []int{0,1,2,3,4,5,0,7,8,9,10,0,12,13,0,15} // path should never stop at any of the indexes = 0,6,11,14 l := 3 r := 2 start := 2 end := 3 calculatePath(xs, l, r, start, end) // returns "rlr" ``` Correct path = ***rlr*** ***rrl*** is invalid coz it stops at index 6 { value : 0 }