avatar

目录
leetcode多函数编程
  1. 设计地铁系统
    这道题主要思考点在于容器设计,in容器来记录编号id的人的(上车站点和上车时间)–pair,然后不需要额外用out来记录下车,直接在checkout函数里计算一下id的人上下车时间差做好记录,最后直接求mean就可以啦
c++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
class UndergroundSystem {
public:

using pii = pair<string, int>;

unordered_map<int, pii> in;
map<pair<string,string>, int> a, b;

UndergroundSystem() {
in.clear();
a.clear();
b.clear();
}

void checkIn(int id, string stationName, int t) {
in[id] = {stationName, t};
}

void checkOut(int id, string stationName, int t) {
auto [ss, tt] = in[id];
int time = t-tt;
a[{ss,stationName}] ++;
b[{ss,stationName}] += time;
}

double getAverageTime(string s, string t) {
return (double)b[{s,t}]/a[{s,t}];
}
};
文章作者: Sunxin
文章链接: https://sunxin18.github.io/2020/05/15/function/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 lalala
打赏
  • 微信
    微信
  • 支付宝
    支付宝

评论