Description
There is a biker going on a road trip. The road trip consists of n + 1 points at different altitudes. The biker starts his trip on point 0 with altitude equal 0.
You are given an integer array gain of length n where gain[i] is the net gain in altitude between points i and i + 1 for all (0 <= i < n). Return the highest altitude of a point.
Example 1:
Input: gain = [-5,1,5,0,-7] Output: 1 Explanation: The altitudes are [0,-5,-4,1,1,-6]. The highest is 1.
Example 2:
Input: gain = [-4,-3,-2,-1,4,3,2] Output: 0 Explanation: The altitudes are [0,-4,-7,-9,-10,-6,-3,-1]. The highest is 0.
Constraints:
n == gain.length1 <= n <= 100-100 <= gain[i] <= 100
Solutions
This function calculates the highest altitude reached during a journey that starts at an altitude of 0. It takes an array of numbers called gain, which represents the climb or drop in height at each step of the trip. By starting at zero, the code loops through each of these changes one by one, adding them to a running total (sum) to track the current altitude, and uses Math.max to constantly update and store the highest peak reached so far (res). Once it has checked all the steps, it returns that highest recorded altitude.
/**
* @param {number[]} gain
* @return {number}
*/
var largestAltitude = function(gain) {
let sum = 0;
let res = 0;
for (const g of gain) {
sum += g;
res = Math.max(res, sum);
}
return res;
};