头条这次的笔试是不是简单了点 这这

Rt

全部评论
5全a路过。。。
点赞 回复 分享
发布于 2018-09-09 11:58
头条没hc了, 给你们开心下 (逃
点赞 回复 分享
发布于 2018-09-09 12:38
全a
点赞 回复 分享
发布于 2018-09-09 12:18
第五题不知哪里出问题,总是50%,不是时间复杂度和空间复杂度问题,总是出现语法错误和数组越界,是输入问题吗?求解 def dfs(item, temp_dict, result): if item in result: return result.add(item) for x in temp_dict[item]: dfs(x, temp_dict, result) if __name__ == "__main__": import sys N = int(sys.stdin.readline().strip()) M = int(sys.stdin.readline().strip()) if M > 0: line = sys.stdin.readline().strip() relation = list(map(int, line.split())) bucket = {} for i in range(0, 2 * M, 2): if relation[i + 1] not in bucket: bucket[relation[i + 1]] = [] bucket[relation[i + 1]].append(relation[i]) cnt = 0 for key in bucket.keys(): a = set() dfs(key, bucket, a) a.add(key) if len(a) == N: cnt += 1 print(cnt) else: print(N)
点赞 回复 分享
发布于 2018-09-09 12:18
一个只有1.8的人路过。。。 以前没学过算法,现在开始学晚了。。。(ps:我是物联网专业的,都不知道自己学的啥。。。)
点赞 回复 分享
发布于 2018-09-09 12:13
怀疑第五题有问题啊,例子里面才三个人  怎么可以三人关注他,自己关注自己也算吗?
点赞 回复 分享
发布于 2018-09-09 12:11
第四题没看明白
点赞 回复 分享
发布于 2018-09-09 11:59
5 ac
点赞 回复 分享
发布于 2018-09-09 16:52
4.8个路过
点赞 回复 分享
发布于 2018-09-09 15:01
第三题怎么做? IP那个
点赞 回复 分享
发布于 2018-09-09 14:09
第二题,把输入的时候的M,全部改成M-1就过了。感觉应该是头条给错了用例,比如M=4,应该是3行3列而不是4
点赞 回复 分享
发布于 2018-09-09 13:46
第五题多flush几次就能ac了
点赞 回复 分享
发布于 2018-09-09 13:13
你们这些全通过的大佬,就不贴个代码吗?
点赞 回复 分享
发布于 2018-09-09 12:16
为啥你们都这么厉害啊。。看了一圈感觉大家都是ac4、5个的,这回又要凉了
点赞 回复 分享
发布于 2018-09-09 12:15
我也觉得太简单了
点赞 回复 分享
发布于 2018-09-09 12:12
ak
点赞 回复 分享
发布于 2018-09-09 12:12
第二题试试这个例子 5 1 0 0 1 1 1 0 0 1 1 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0
点赞 回复 分享
发布于 2018-09-09 12:10
第五题floyd应该可以,不过一直没AC。。
点赞 回复 分享
发布于 2018-09-09 12:09
哎,或许我不适合找工作吧。只有2.4
点赞 回复 分享
发布于 2018-09-09 12:08
求助大佬,第五题用并查集解的代码,通过率总是33.3%,帮忙看看哪里错了,网络主播红人那道题, #include <iostream> #include <vector> #include <algorithm> #include<sstream>        #include<string>  using namespace std; typedef vector<pair<int, int> > RangeList; class UnionSet { public:     UnionSet(int n )     {          _set=new int[n];         for(int i=0;i<n+1;i++){               _set[i]=-1;                   }         _n = n;     }     int GetRoot(int p)     {         while (_set[p] >= 0) //最终的根应该小于0         {             p = _set[p];         }                  return p;     }     void UnionFriends(int p1, int p2)     {         //获取p1和p2最终属于哪个朋友圈         int root1 = GetRoot(p1);         int root2 = GetRoot(p2);         //将本该属于同一个朋友圈的两个朋友圈合并         if (root1 != root2)         {             _set[root1] = _set[root1] + _set[root2];             _set[root2] = root1;         }     }     int friends(int n, int m, RangeList& r)     {         int count = 0; //朋友圈的个数         //合并朋友圈         for (int i = 0; i < m; i++)         {             UnionFriends(r[i].first, r[i].second);         }         //计算朋友圈个数         for (int i = 1; i < n + 1; i++)  //跳过0号下标,没有第0个人         {                      if (_set[i] < 0)                 count++;         }         return count;     } private:         int *_set;     int _n; }; int  main() {      RangeList intervals;      int n, duisum,      start, end;      cin>>n>>duisum;       for (int i = 0; i < duisum; ++i) {         cin >> start >> end;         intervals.push_back(make_pair(start, end));     }      int m=intervals.size();                UnionSet us(n);     int ret = us.friends(n, m, intervals);     cout <<ret << endl; }
点赞 回复 分享
发布于 2018-09-09 12:08

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务