电梯算法
算法描述
- 大厦维护人员最重要的事情之一是保持电梯的合理运行
- 必须得保证同一时间在电梯上的人数比较合理,这有一个最大值限制
- 该场景中,电梯可以知道每次进入和走出电梯的人数,单不能知晓电梯中当前有多少人
- 在此,你需要涉及一个算法,输入为进入人数
enter
和走出人数exit
,以及最大值限制physicalLimit
- enter
和
exit`数组中的每个值代表每一层楼的进出人数 - 算法输出为初始阶段电梯中的人数的最小值和最大值组成的数组
- 若算法的输入不合理,输出空数组即可
参数定义
- 类名
ElevatorLimit
- 方法
getRange
- 输入参数
vector <int>, vector <int>, int
- 输出
vector <int>
- 方法声明
vector <int> getRange(vector <int> enter, vector <int> exit, int physicalLimit)
限制条件
enter
和exit
包含[1,50]个元素enter
和exit
包含相同的元素个数enter
和exit
中的每个元素的范围在[0,1000]之间physicalLimit
在[1,1000]之间
例子
- 输入
- enter: {1,0}
- exit:{0,1}
- physicalLimit:1
- 输出
- 1
测试实例
实例一
输入
- {1,0}
- {0,1}
- 2
输出
- { 0, 1 }
实例二
- 输入
- {0,1}
- {1,0}
- 1
- 输出
- { 1, 1 }
- 输入
实例三
- 输入
- {0,2}
- {1,0}
- 1
- 输出
- { }
- 输入
实例四
- 输入
- {6, 85, 106, 1, 199, 76, 162, 141}
- {38, 68, 62, 83, 170, 12, 61, 114}
- 668
- 输出
- { 223, 500 }
- 输入
实例五
- 输入
- {179, 135, 104, 90, 97, 186, 187, 47, 152, 100, 119, 28, 193, 11, 103, 100, 179, 11, 80, 163, 50, 131, 103, 50, 142, 51, 112, 62, 69, 72, 88, 3, 162, 93, 190, 85, 79, 86, 146, 71, 65, 131, 179, 119, 66, 111}
- {134, 81, 178, 168, 86, 128, 1, 165, 62, 46, 188, 70, 104, 111, 3, 47, 144, 69, 163, 21, 101, 126, 169, 84, 146, 165, 198, 1, 65, 181, 135, 99, 100, 195, 171, 47, 16, 54, 79, 69, 6, 97, 154, 80, 151, 76}
- 954
- 输出
- { 453, 659 }
- 输入
实例六
- 输入
- {2}
- {3}
- 2
- 输出
- { }
- 输入