字节跳动2021春招研发第三场笔试
最新进展 笔试没过。。。
没想到 不能用本地 ide 不过牛客的 ide 也还行比 携程滴滴用的那个平台强多了感觉
四道编程题
第一题 1
简单a了
第二题 0.85
不知道哪里扣了 分 感觉这个应该a掉
第三题 0.3
整的flag while循环 一直 判断是否可以 更新数据
然后感觉会超时 内存溢出之类的
第四题 0.1
完全不会 骗了 10% 输出0
按照论坛里的 分数算 我就是 10+30*(0.85+0.3+0.1)= 47.5
木有及格啊~
#include<iostream> #include<vector> using namespace std; int main(){ cout<<0<<endl; return 0; } /* #include<iostream> #include<vector> using namespace std; int main(){ vector<int>ans; int t; while(cin>>t){ ans.push_back(t); } int sum=t; for(int i=ans.size()-2;i>=0;i--){ int max = 2*ans[i]; if(sum<max){ sum=max; } else sum+=max; // cout<<ans[i]<<endl; } cout<<sum<<endl; return 0; } #include<iostream> #include<vector> #include<queue> using namespace std; int main(){ int n,m; cin>>n>>m; vector<int>v(n,0); for(int i=0;i<n;i++){ int t; cin>>t; v[i] = t; } int sum = 0; int mmax = 0; int count = 0; for(int i=0;i<n;i++){ sum+=v[i]; count++; if(sum<=0){ count=0; sum=0; } if(count>m){ sum-=v[i-m]; count--; } if(sum>=mmax){ mmax=sum; } } cout<<mmax<<endl; return 0; }; /* #include<iostream> #include<vector> #include<queue> using namespace std; int main(){ int n,m; cin>>n>>m; //vector<int>ans(n,0); queue<long long int>q; int t; long long int sum = 0; long long int pre = 0; int count=0; for(int i=0;i<n;i++){ cin>>t; pre+=t; count++; q.push(t); if(count>m){ pre-=q.front(); q.pop(); count--; } if(pre<=0){ pre=0; count=0; q= queue<long long int>(); } if(pre>sum)sum=pre; //ans[i]=t; } cout<<sum<<endl; return 0; } */ /* #include<iostream> #include<vector> using namespace std; int main(){ int n,a,b; cin>>n>>a>>b; vector<int>v(2*n+1,-1); v[0]=0; for(int i=1;i<=2*n;i++){ if(v[i]==-1||v[i-1]+b<v[i]){ v[i]=v[i-1]+b; } if(2*i<=2*n){ v[2*i]=v[i]+a; } } int flag=1; for(int i=2*n;i>0;i--){ if(v[i]+b<v[i-1]){ v[i-1]=v[i]+b; flag=1; } } while(flag){ flag=0; for(int i=1;i<=2*n;i++){ if(v[i-1]+b<v[i]){ v[i]=v[i-1]+b; flag=1; } if(i*2<=n&&v[i*2]>v[i]+a){ v[i*2]=v[i]+a; flag=1; } } for(int i=2*n;i>0;i--){ if(v[i]+b<v[i-1]){ v[i-1]=v[i]+b; flag=1; } } } /* for(int i=2;i<=2*n;i++){ //cout<<i<<endl; if(i%2==0&&v[i]>v[i/2]+a){ v[i]=v[i/2]+a; } } */ /* cout<<v[n]<<endl; return 0; } /* #include<iostream> using namespace std; int main(){ int n,a,b; cin>>n>>a>>b; int sum = 0; int n2=0,n21=0; int t=n; int shiji2=0,shiji21=0; while(t>0){ n2++; if(t%2==1)n21++; if(t/2*b<a){ shiji21+=t/2; }else{ shiji2++; } if(t%2==1){ shiji21++; } t/=2; } sum = a*shiji2+b*shiji21; // cout<<shiji2<<" "<<shiji21<<endl; cout<<sum<<endl; return 0; } */ /* */
全部评论
(7) 回帖