Skip to content

Instantly share code, notes, and snippets.

@kkt-ee
Created January 4, 2020 17:01
Show Gist options
  • Save kkt-ee/8a33f285e560d5c6c2b09976581dd194 to your computer and use it in GitHub Desktop.
Save kkt-ee/8a33f285e560d5c6c2b09976581dd194 to your computer and use it in GitHub Desktop.
"""
Number of people in the bus
There is a bus moving in the city, and it takes and drop some people in each bus stop.
You are provided with a list (or array) of integer arrays (or tuples). Each integer array has two items which represent number of people get into bus (The first item) and number of people get off the bus (The second item) in a bus stop.
Your task is to return number of people who are still in the bus after the last bus station (after the last array). Even though it is the last bus stop, the bus is not empty and some people are still in the bus, and they are probably sleeping there :D
Take a look on the test cases.
Please keep in mind that the test cases ensure that the number of people in the bus is always >= 0. So the return integer can't be negative.
The second value in the first integer array is 0, since the bus is empty in the first bus stop.
"""
def number(bus_stops):
# Good Luck!
outB = sum([a[0] for a in bus_stops])
inB = sum([a[1] for a in bus_stops])
return outB - inB
#OR
def number(bus_stops):
return sum([stop[0] - stop[1] for stop in bus_stops])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment