算法
退役要恰饭
笔试辅导。
展开
-
9-9华为笔试,3题AK
9-9华为笔试,3题AKnum1num2num3:num1裸的KMP。#include <bits/stdc++.h>using namespace std;const int mn = 1e6 + 10;int n, m;int nx[mn];void cal_next(int b[]){ memset(nx, 0, sizeof nx); nx[0] = -1; int k = -1; int j = 0; while (j < m) { if原创 2020-09-09 21:28:50 · 3560 阅读 · 7 评论 -
9-7贝壳笔试,4题AK
9-7贝壳笔试,4题AKnum1num2num3num4num1第一题题意:石头剪刀布,已知牛妹和牛牛左手出什么右手出什么,但不知道牛牛会出左手还是右手,我们要求一下牛妹出哪只手赢的胜率高一些思路:用牛妹的左手和牛牛两只手比较算出赢的场数,再用牛妹的右手和牛牛两只手比较算出赢的场数,判断一下牛妹左手赢的场数多一些还是右手赢的场数多一些即可。int check(char s,char t){ if(s=='S'&&t=='J') return 1;原创 2020-09-07 22:38:49 · 2121 阅读 · 1 评论 -
9-6腾讯题目笔试
9-6腾讯题目,4题t1t2t3T4t1两个链表找交集map<ll,bool>mp;void solve(){ int n; cin>>n; for(int i=1;i<=n;i++) { int x; cin>>x; mp[x]++; } cin>>n; for(int i=1;i<=n;i++) { int x; cin>>x; if(mp[x]) cout<<x&原创 2020-09-07 13:39:22 · 305 阅读 · 0 评论 -
9-5 搜狗笔试 AK
9-5搜狗题目,3题AK第一题第二题第三题第一题题意:给你三种道具A,B,C.分别有a个,b个,c个.可以把其中的任意两个道具(包括两个同一种的)换成任意指定道具.三种不同的道具各来一个可以换一个奖品.求有多少种奖品思路:通过排序,弄成a < b < c设答案为ans = 0先合成a个奖品ans += aa = 0b -= ac -= a然后再判断 c-2*b > b如果是的话我们可以先拿2b个合成A,然后合成b个奖品,然后只有c可能大于0.然后5个c可以原创 2020-09-05 21:11:27 · 2135 阅读 · 0 评论 -
9-1拼多多题目,4题AK
9-1拼多多题目,4题AKnum1num2num3num4 明天补。num1题意:正方形划分为8个部分。思路:直接判断就行。代码写得臭就不发了。num2题意:给定01矩阵,有一些连通的1,用0分割,现在你最多可以把其中1个1替换位置,问替换之后的最大连通块是多大。思路:为了保证做法不会出错,我们得考虑:如果只有一个连通块,那么它就是答案;多个连通块(最多为4)是否可以移动内部的某块来连接;多个连通块是否可以通过外部的某个1来连接。对于2,3众情况,我们把他统一为,如果多个连通块中间只原创 2020-09-01 23:51:08 · 1002 阅读 · 0 评论