网易笔试题,请大神看一下。


#include<iostream>
#include<vector> using namespace std; int query(vector<int> a,int len,int q){     int i;     for(i=0;i<len;i++){         if(q>a[i]){             q=q-a[i];         }         else{             return i+1;         }     }     return i+1; } int bquery(vector<int> a,int len,int q){     int low=0;     int high=len-1;     while(low<high){         int mid=(low+high)/2;         int sum=0;         int i=0;         while(i<=mid) {                 sum+=a[i];                 i++;         }         if(q>sum){             low=mid+1;         }         else{             high=mid;         }     }     return low+1; } int main(){   int n;   int m;   int len;   vector <int> a;   cin>>n;   len=n;   int k=0;   while(k<n){    int s;    cin>>s;    a.push_back(s);    k++;   }   cin>>m;   while(m>0){     int q;     cin>>q;     cout<<bquery(a,len,q)<<endl;   }   return 0; }

#笔试题目##内推##C/C++##网易#
全部评论
我用二分查找也是超时,只通过50%的测试用例
点赞 回复 分享
发布于 2018-08-11 19:41
我跟你写的一模一样,也超时,想知道为什么。。。
点赞 回复 分享
发布于 2018-08-11 19:37
为什么顺序搜索它说超时,我二分查找还是超时?有人帮我一下吗?
点赞 回复 分享
发布于 2018-08-11 19:02

相关推荐

牛客10001:G了+1,被前端/客户端给捞起来了,不太想面
投递美团等公司6个岗位 美团求职进展汇总
点赞 评论 收藏
分享
秋盈丶:后续:我在宿舍群里和大学同学分享了这事儿,我好兄弟气不过把他挂到某脉上了,10w+阅读量几百条评论,直接干成精品贴子,爽
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务