腾讯笔试题 第一批
好像有好几套卷子 我就分享自己的
今天在公司写的代码,再不回宿舍赶不上末班车🤣提前半小时交卷了。。。
在回宿舍地铁上,好像手机不能贴代码?那我直接文字粘贴了。。。//现在已经用插入代码了
第一题 修栅栏 AC100
作者:happyGirl122 链接:https://www.nowcoder.com/discuss/226300 来源:牛客网 #include<bits/stdc++.h> using namespace std; int main() { int n,k,i,j,a[150000],b[150000],min=0,minIndex=0,temp; cin>>n;//输入样例个数 cin>>k;//输入拔草长度 for(i=0;i<n;i++) { cin>>a[i]; } for(i=0;i<k;i++) { min+=a[i]; } for(i=0;i<n-k+1;i++) { temp=0; for(j=i;j<i+k;j++) { temp+=a[j]; } if(temp<min) { min=temp;minIndex=i; } } minIndex++; cout<<minIndex<<endl; return 0; }
第一题简直不能更简单,就不多说了
第二题 拆零件
就是那个.和X的题 我觉得我做的是对的 样例能通过 就是复杂度太高了 求大神指点
作者:happyGirl122 链接:https://www.nowcoder.com/discuss/226300 来源:牛客网 #include<bits/stdc++.h> using namespace std; int a[500][500],n,m,endI,endJ,success; int visit(int i, int j) { if(i == endI && j == endJ) { success = 1;return 1; } if(j+1<m) { if(a[i][j+1]>0) { a[i][j+1]--;visit(i, j+1);a[i][j+1]++; } } if(i+1<n) { if(a[i+1][j]>0) { a[i+1][j]--;visit(i+1, j);a[i+1][j]++; } } if(j-1>=0) { if(a[i][j-1]>0) { a[i][j-1]--;visit(i, j-1);a[i][j-1]++; } } if(i-1>=0) { if(a[i-1][j]>0) { a[i-1][j]--;visit(i-1, j);a[i-1][j]++; } } return success; } void lingJian(int n,int m) { char temp[500]; int i,j,s1,s2,f1,f2; gets(temp);//接收回车 for(i=0;i<n;i++) { gets(temp); for(j=0;j<m;j++) { if(temp[j]=='.')a[i][j]=2; else if(temp[j]=='X')a[i][j]=1; } }//由数字1,2构成的数组二维表已建好 cin>>s1>>s2;//起点 s1--;s2--; //cin>>f1>>f2;//终点 cin>>endI>>endJ; endI--;endJ--; success=0; if(visit(s1,s2)==1)cout<<"YES"<<endl; else cout<<"NO"<<endl; } int main() { int t,i; cin>>t;//输入测试用例个数 for(i=0;i<t;i++) { cin>>n>>m; lingJian(n,m); } return 0; }
第三题 奥利奥冰淇淋 AC 40
#include<stdio.h> #include<iostream> #include<stdlib.h> using namespace std; int main() { int n, m; cin >> n >> m; int w[101],v[101]; for(int i=0;i<n;i++) { cin >> w[i]; } for(int i=0;i<n;i++) { cin >> v[i]; } int res = 0; int mi = w[0]; for(int i=1;i<n;i++) { if(mi > w[i]) mi = w[i]; } res += mi; for(int i=0;i<n;i++) { w[i] -= mi; } while(m>0) { for(int i=0;i<n;i++) { if(w[i] == 0) { m -= v[i]; } else w[i]--; } if(m>=0) ++res; } cout << res; return 0; }
第二题我总是想改方法耽误了很久加上赶时间就提前交卷了🤣
本来想交卷就发帖,发现还没结束就先发给文件传输助手了。
求各路大神指教