lstallone level
获赞
128
粉丝
3
关注
4
看过 TA
2
南京大学
2019
Java
IP属地:未知
暂未填写个人简介
私信
关注
2018-10-30 13:56
已编辑
南京大学 Java
0 点赞 评论 收藏
分享
2018-08-27 16:43
南京大学 Java
0 点赞 评论 收藏
分享
2018-08-22 11:19
已编辑
南京大学 Java
求职太苦逼了,每天都睡不好觉,这段时间大家都是怎么度过的。。
潘多拉Boot:一个多月没有踏实睡过了,不到1点根本睡不着,脑子里想的太多了
0 点赞 评论 收藏
分享
2018-08-13 10:39
已编辑
南京大学 Java
第一题:球场团队数与最大团队的人数 要求:前后左右以及斜对角相邻的算一个团队; 思路:bfs,参考leetcode 200. Number of Islands。要注意的是输入,用逗号隔开,解决方法是每次读取一个数后,都调用cin.get()来清除逗号 代码: void bfs(vector<vector<int>>& grid, int i, int j, int& num) { if(i<0||i>grid.size()-1||j<0||j>grid[0].si...
老衲法海:将楼主的代码稍微排了下版, 然后跑了几个测试样例都过了, 不清楚实际能不能 ac #include <iostream> #include <vector> using namespace std; int main() { int N, M; cin >> N >> M; vector<pair<int, int>> time(N); int s, t; for (int i = 0; i < N; i++) { cin >> s >> t; if (s >= t) t += M; time[i] = make_pair(s, t); } sort(time.begin(), time.end(), [](pair<int, int>& p1, pair<int, int>& p2) { return (p1.second == p2.second) ? p1.first > p2.first : p1.second < p2.second; }); int bound = time[0].second; int max_watch = 0; for(int i = 0; i < N; i++) { // 我们需要找的不同的起点, 绝对是在第一个遍历的 end 之前, // 如果在起点在第一个遍历的 end 之后, 岂不是丢掉了 time 中第一个元素, 肯定不是最大值 if (time[i].first >= bound) { break; } int start_time = time[i].first; int cur_time = time[i].second; int watch = 1; for (int j = i+1; j < N; j++) { if (time[j].first < cur_time) { continue; } cur_time = time[j].second; if (cur_time > start_time + M) { break; } else watch++; } max_watch = max(max_watch, watch); } cout << max_watch << endl; return 0; }
投递字节跳动等公司10个岗位 >
0 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务