吉比特&雷霆游戏 8.27 笔试记录

感觉这次笔试前面题挺有意思的,编程比较俗套。
1. 判断给定两个字符在一个字符串中的最大距离,不区分大小写,若不存在则输出-1。AC
2.三种物质现有x, y, z,每单位物质第二天会生成定量的其他两种物质,给定所有关系,判断n天后所有物质的量,数据量超大。AC

贴个第二题思路,因为数据量超大,所以O(N)算法肯定不行,考虑矩阵快速幂.设初始情况为S(0) = [x, y, z]^T,则S(N) = A^n * S(0)。算出来A矩阵,然后快速幂取模即可。

#笔试题目#
全部评论
第一次做笔试怀疑人生。。我一个前端都是什么神仙笔试题,一道html,css,js之类的都没,填空题都是C++(没学过),编程还算正常
2 回复 分享
发布于 2020-08-27 22:04
前面题太复杂了
1 回复 分享
发布于 2020-08-27 22:08
我发现我一个前端菜鸡天天和算法大佬做同一套卷子
1 回复 分享
发布于 2020-08-27 22:31
求第二题AC代码
点赞 回复 分享
发布于 2020-08-27 22:02
暴力只能过50。。。想知道有啥好的方法
点赞 回复 分享
发布于 2020-08-27 22:04
第一题过90至今不知道特例是啥。。。😤
点赞 回复 分享
发布于 2020-08-27 22:16
求一个ac代码
点赞 回复 分享
发布于 2020-08-27 22:17
int main() { string s; char a, b; cin >> s; cin >> a >> b; set<long long int> loca, locb; for (long long int i = 0; i < s.length(); i++) { if (s[i] == a + 32 || s[i] == a - 32 || s[i] == a) loca.insert(i); else if(s[i] == b + 32 || s[i] == b - 32 || s[i] == b) locb.insert(i); } if (loca.empty() || locb.empty()) { cout << -1 << endl; return 0; } auto its1 = loca.begin(); auto its2 = locb.end(); its2--; long long int ans = abs(*its1-*its2);  //首尾 its1 = loca.end(); its1--; its2 = locb.begin(); ans = max(ans, abs(*its1 - *its2));   //首尾 its1 = loca.begin(); its2 = locb.begin(); ans = max(ans, abs(*its1 - *its2));  //首首 its1 = loca.end(); its1--; its2 = locb.end(); its2--; ans = max(ans, abs(*its1 - *its2));  //尾尾 cout << ans << endl; system("pause"); return 0; } 有大佬能指点一下哪里错了,只能过40%。
点赞 回复 分享
发布于 2020-08-27 22:18
求第一题和第二题代码
点赞 回复 分享
发布于 2020-08-27 22:26
想法和代码已经补上啦~
点赞 回复 分享
发布于 2020-08-27 22:32
第一题用动态语言就像开挂😂 https://paste.ubuntu.com/p/qQTKbZhGKx/
点赞 回复 分享
发布于 2020-08-28 11:06
a了1.7 笔试挂了
点赞 回复 分享
发布于 2020-09-05 11:40

相关推荐

去B座二楼砸水泥地:不过也可以理解,这种应该没参加过秋招
点赞 评论 收藏
分享
2 3 评论
分享
牛客网
牛客企业服务