Each day I solve several coding challenges and puzzles from Codr's ranked mode. The goal is to reach genius rank, along the way I explain how I solve them. You do not need any programming background to get started, and you will learn a ton of new and interesting things as you go.
Here's a new challenge with quite a lot of code, but only one bug that needs fixing π§. You can solve this in several ways, the fastest method is by tracking variables, there are only a few potential variables that would fit the bug π§. Both LM and RM
are already used, and π§ is unlikely to be any of these because those are arrays, and π§ isn't used in an array-like fashion. The variable max
appears to keep track of the max value, so π§ isn't likely to be max
, because max
is no longer relevant at that stage.
The only remaining variable that's pretty much unused is V
, it's also the value that the function returns, and since A = 4
, then V
cannot be zero; π§ is very likely to be V
.
You can take a few minutes to analyze the code closer, to understand what is going on. In a nutshell it's computing the sum of trap heights in a given array. A trap in this code, is identified by a value that's surrounded by two larger values (left and right of itself), as indicated by the arrow on the image below. In pseudo-code: TRAPi = min(left, right) - height
. In this case there is only one trap, so A = 4
, it is computed as such: A= V= min(6, 6) - 2
Join me on the Road to Genius and upgrade your programming skills, at https://nevolin.be/codr/
Top comments (0)