0
Number of Stops in Elevator
Hey Guys, I'm looking for solutions to solve this problem. The objective is to define the number of stops the elevator will take. A = [60, 80, 40] weight of each person B = [2, 3, 5] floor X = 2 (max number of people in the elevator) Y = 200 (max number of weight) For this case the solution would be N = 5, since the elevator took 60 plus 80 to floors number 2 and 3 (2 stops), then came back to 0 (3 stops), it went to 5 (4 stops) and it returned to 0 ( 5 stops). Can anyone solve this? I'm mostly looking for Python solutions but all other are very welcome. Cheers
4 odpowiedzi
0
With this scenario there is no difference between solutions. You can choose any combination of two persons then the other one.
0
Here is the python solution for the problem. Any suggestion pls let me know
def solution(A, B, M, X, Y):
    currentPerson = 0
    totalPersonCount = len(A)
    destinationFloors = []
    totalWeightTwoPersons = 0
    maxPersonCount = 0
    totalTrips = 0
    startElevator = False
    while currentPerson < totalPersonCount:
        if maxPersonCount + 1 <= X and totalWeightTwoPersons + A[currentPerson] <= Y:
            destinationFloors.append(B[currentPerson])
            totalWeightTwoPersons += A[currentPerson]
            if currentPerson == totalPersonCount - 1:
                startElevator = True
            maxPersonCount += 1
            currentPerson += 1
        else:
            startElevator = True
        if startElevator:
            if len(destinationFloors) == 2 and destinationFloors[0] == destinationFloors[1]:
                totalTrips += 1
                destinationFloors[:] = []
            else:
                totalTrips += len(destinationFloors)
                destinationFloors[:] = []
            startElevator = False
            maxPersonCount = 0
            totalWeightTwoPersons = 0
            if len(destinationFloors) == 0:
                totalTrips += 1
    return totalTrips
- 1
then how about solving for minimum stops
- 1
Hey,
Thats the purpose of the exercise. To design a program that will give you the min number of stops.
This is an exercise from codility, a platform to test programmers for employment. I couldn't solve this exercise, and I'm still trying but with no success till now.







