Skip to content

Instantly share code, notes, and snippets.

@mashiro
Created October 29, 2020 06:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mashiro/ab999e63c412ddd7928a0c0181b3fe60 to your computer and use it in GitHub Desktop.
Save mashiro/ab999e63c412ddd7928a0c0181b3fe60 to your computer and use it in GitHub Desktop.
# @param {Integer[]} nums
# @return {String[]}
def summary_ranges(nums)
return [] if nums.empty?
prev = nums.shift
r = [prev]
out = []
nums.each do |n|
if prev + 1 != n
r << prev
out << r
r = [n]
end
prev = n
end
unless r.empty?
r << prev
out << r
end
out.map do |r|
b, e = r
if b == e
"#{b}"
else
"#{b}->#{e}"
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment