阿里的30分钟编程测评,截图献上

今天听几个同学说阿里的测评是TSP,想来不能一样吧,还真是TSP.很遗憾,得了零分,但是很乐意把题共享给大家
#阿里巴巴##笔试题目#
全部评论
Map = [[0,2,3],[2,0,1],[3,1,0]] ans = [([float('inf')]*3)for p in range(3)] start = 0 def findfunc(Node,N,distance):         if N == 0:             if ans[start][Node] > distance:                 ans[start][Node] = distance                 return             return         info = Map[Node]         for ind,each in enumerate(info):             if each != 0:                 findfunc(ind,N-1,distance + each)         return for i in range(3):     start = i     M = findfunc(i,2,0) 深度优先搜索
点赞 回复 分享
发布于 2018-07-18 17:20
TSP是什么意思?
点赞 回复 分享
发布于 2018-07-18 01:53
唉,我是时间过了才写出来的,也没用
点赞 回复 分享
发布于 2018-07-18 05:37
我只做出来一个时间复杂度为n3*m的
点赞 回复 分享
发布于 2018-07-18 10:50
用动态规划做的,dp[i][j][m]=min{dp[i][s][m-1] + map[s][j]}s为j的所有邻居。当然用二维滚那个动数组可以节约一点空间。但是时间复杂度为O(n^3*m),不合要求。。。
点赞 回复 分享
发布于 2018-07-23 23:47
之前图相关的都用的领接数组,这换成了领接矩阵,半天没反应过来,我去。。。。。 #include<iostream> #include<algorithm> #include<fstream> #include<map> #include<vector> #include<string> #include<iostream> using namespace std; void dfs(vector<vector<int>> &path, int s, int e, int v,int &res,int L,int M) {     if (L > M)         return;     if(L==M&&s==e){         res = min(res, v);         return;     }     for (int i = 0; i < path[0].size(); ++i) {         if (path[s][i] != 0)             dfs(path, i, e, v + path[s][i], res, L + 1, M);     } } vector<vector<int>> solve(vector<vector<int>> &path,int M) {     vector<vector<int>> res(path.size(), vector<int>(path[0].size(), -1));     for(int i=0;i<path.size();++i)         for (int j = 0; j < path[0].size(); ++j) {             int r=INT32_MAX;             dfs(path,i,j,0,r,0,M);             res[i][j] = r;         }     return res; } int main(void){     int N, M;     while (cin >> N >> M) {         int N1, N2;         cin >> N1 >> N2;         vector<vector<int>> path;         for (int i = 0; i < N1; ++i) {             vector<int> temp;             int data;             for (int j = 0; j < N2; ++j) {                 cin >> data;                 temp.push_back(data);             }             path.push_back(temp);         }         vector<vector<int>> res = solve(path, M);         for (auto v : res) {             for (auto i : v)                 cout << i << " ";             cout << endl;         }     }     getchar();     return 0; }
点赞 回复 分享
发布于 2018-07-24 15:16

相关推荐

不愿透露姓名的神秘牛友
11-05 23:10
上海寻梦信息技术有限公司 Java工程师 30.0k*18.0
我要offerOOO:双休很重要啊
点赞 评论 收藏
分享
10-30 16:13
已编辑
蚌埠坦克学院 C++
点赞 评论 收藏
分享
评论
点赞
96
分享
正在热议
# 25届秋招总结 #
440577次浏览 4493人参与
# 春招别灰心,我们一人来一句鼓励 #
41484次浏览 524人参与
# 北方华创开奖 #
107296次浏览 599人参与
# 地方国企笔面经互助 #
7923次浏览 18人参与
# 虾皮求职进展汇总 #
114057次浏览 883人参与
# 实习,投递多份简历没人回复怎么办 #
2454001次浏览 34848人参与
# 阿里云管培生offer #
119803次浏览 2219人参与
# 实习必须要去大厂吗? #
55678次浏览 960人参与
# 同bg的你秋招战况如何? #
75577次浏览 552人参与
# 提前批简历挂麻了怎么办 #
149825次浏览 1977人参与
# 投递实习岗位前的准备 #
1195707次浏览 18546人参与
# 你投递的公司有几家约面了? #
33178次浏览 188人参与
# 双非本科求职如何逆袭 #
661910次浏览 7394人参与
# 机械人春招想让哪家公司来捞你? #
157604次浏览 2267人参与
# 如果公司给你放一天假,你会怎么度过? #
4730次浏览 55人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
11365次浏览 270人参与
# 发工资后,你做的第一件事是什么 #
12405次浏览 61人参与
# 工作中,努力重要还是选择重要? #
35612次浏览 384人参与
# 参加完秋招的机械人,还参加春招吗? #
20091次浏览 240人参与
# 实习想申请秋招offer,能不能argue薪资 #
39235次浏览 314人参与
# 我的上岸简历长这样 #
451924次浏览 8088人参与
# 非技术岗是怎么找实习的 #
155842次浏览 2120人参与
牛客网
牛客企业服务