mirror of
https://github.com/TheAlgorithms/Ruby
synced 2025-01-14 08:01:05 +01:00
Add approach
This commit is contained in:
parent
8363ae81fd
commit
892c5d0064
1 changed files with 45 additions and 0 deletions
45
data_structures/arrays/find_the_highest_altitude.rb
Normal file
45
data_structures/arrays/find_the_highest_altitude.rb
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
# Find the Highest Altitude
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
# @param {Integer[]} gain
|
||||||
|
# @return {Integer}
|
||||||
|
def largest_altitude(gain)
|
||||||
|
arr = [0]
|
||||||
|
points = gain.count
|
||||||
|
|
||||||
|
# calculate altitude array
|
||||||
|
(1..points).each do |pointer|
|
||||||
|
sum = arr[pointer - 1] + gain[pointer - 1]
|
||||||
|
arr.push(sum)
|
||||||
|
end
|
||||||
|
|
||||||
|
# find maximum altitude
|
||||||
|
max = 0
|
||||||
|
arr.each { |i| max = i if max < i }
|
||||||
|
max
|
||||||
|
end
|
||||||
|
|
||||||
|
gain = [-5, 1, 5, 0, -7]
|
||||||
|
largest_altitude(gain)
|
||||||
|
# Output: 1
|
||||||
|
|
||||||
|
gain = [-4, -3, -2, -1, 4, 3, 2]
|
||||||
|
largest_altitude(gain)
|
||||||
|
# Output: 0
|
Loading…
Reference in a new issue