首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
CoCo_code
2016-09-10 21:09
北京理工大学 C++
关注
已关注
取消关注
编程题车站的问题
测试用例中
aaacaaa
aca
aa
根据题目,小b到站的时候是睡眠的,也就是说,最后一个旗子是看不到的,那么这个测试用例不应该是invalid么??? 如果是both,最后一个站的旗子就是看到的咯,我只通过了10%,不知道为什么。
#360公司#
提示
全部评论
推荐
最新
楼层
临江仙998
之江实验室_高级工程专员
我直接输出结果,没写过程,还通过了10%
点赞
回复
分享
发布于 2016-09-10 21:18
shaakalaka
浙江大学 C++
#include "bits/stdc++.h" using namespace std; int main() { string mn,a,b; while(cin>>mn>>a>>b) { int lena=a.size(); int lenb=b.size(); string nm=mn; reverse(mn.begin(),mn.end()); bool ntom=false,mton=false; if(nm.find(a)!=string::npos) { int pos=nm.find(a); string t=nm.substr(pos+lena); // cout<<"nm:"<<t<<endl; if(t.find(b)!=string::npos) ntom=true; } if(mn.find(a)!=string::npos) { int pos=mn.find(a); string t=mn.substr(pos+lena); // cout<<"mn:"<<t<<endl; if(t.find(b)!=string::npos) mton=true; } if(ntom&&!mton) cout<<"forward"<<endl; if(mton&&!ntom) cout<<"backward"<<endl; if(ntom&&mton) cout<<"both"<<endl; if(!ntom&&!mton) cout<<"invalid"<<endl; } return 0; }
点赞
回复
分享
发布于 2016-09-10 21:40
Haoboy
长春理工大学 Java
60%
点赞
回复
分享
发布于 2016-09-11 08:03
风月无涯
北京师范大学 算法工程师
python 过了70%,不知道剩下的30%什么情况,难道一个车站的旗子可以看两次?》
点赞
回复
分享
发布于 2016-09-10 22:43
有点焦
中国科学院大学 算法工程师
好机智的解答🤔
点赞
回复
分享
发布于 2016-09-10 21:56
Snowly
长春理工大学 Java
这个问题,我一开始用KMP算法正一遍,反一遍找匹配字符串后对应输出的啊 ,而且第二次看到的旗帜一定要在第一次看到的旗帜后面这点也考虑到了,数组越界也考虑了,但是提示Wrong Answer,好像是说全部未通过,示例都能通过至少也不该是0%吧,这里的KMP算法通过了牛客网的测试用例的函数 import java.util.Scanner; public class Main { public static int[] getPMT(char[] b,int lenb){ int[] arr=new int[lenb]; arr[0]=0; int i=0,j=-1; while(i<lenb-1){ if(j==-1 || b[i]!=b[j]){ i++; j++; if(b[i]==b[j]){ arr[i]=j+1; } else{ arr[i]=0; j=-1; } } else{ i++; j++; if(b[i]!=b[j]){ i--; j=-1; } else{ arr[i]=j+1; } } } return arr; } public static int findAppearance(String A, int lena, String B, int lenb,int mark) { // write code here if(lena<lenb)return -1; char[] a=A.toCharArray(); char[] b=B.toCharArray(); int[] pmt=getPMT(b,lenb); //new int[lenb]; //部分匹配表 int i=mark; //左对齐下标 int j=0; //内标 while(i<=lena-lenb){ while(j<lenb){ if(a[i]!=b[j]){ if(j==0)i++; else{ i-=pmt[j-1]; } j=0; break; } else{ i++; j++; if(j==lenb)return i-lenb; //返回对齐的字符串头位置 } } } return -1; //无匹配则返回-1 } public static int check(int nA,int nB,int nA2,int nB2,int lA){ if((nB-nA)>=lA && nA!=-1 && nB!=-1){ if((nB2-nA2)>=lA && nA2!=-1 && nB2!=-1){ return 3; //表示both } else{ return 1; //表示forward } } else if((nB2-nA2)>=lA && nA2!=-1 && nB2!=-1){ return 2; //表示backward } return 4; //表示invalid } public static void main(String[] args) { Scanner sc=new Scanner(System.in); String C=sc.nextLine(); //正序路径 int lC=C.length(); char[] c=C.toCharArray(); String C2=""; for(int i=0;i<lC;i++){ C2+=c[lC-1-i]; } String A=sc.nextLine(); String B=sc.nextLine(); int nA,nB; int nA2,nB2; nA=findAppearance(C,lC,A,A.length(),0); nB=findAppearance(C,lC,B,B.length(),nA+A.length()); nA2=findAppearance(C2,lC,A,A.length(),0); nB2=findAppearance(C2,lC,B,B.length(),nA2+A.length()); int re=check(nA,nB,nA2,nB2,A.length()); if(re==1)System.out.println("forward"); else if(re==2)System.out.println("backward"); else if(re==3)System.out.println("both"); else if(re==4)System.out.println("invalid"); } }
点赞
回复
分享
发布于 2016-09-10 21:49
周星星_
广东某工业大学 C++
50% 思路是计算比较最长公共子串的长度 #include<iostream> #include<string> #include<vector> #include<algorithm> using namespace std; //是否存在子串 int findLongestSize(string A, string B, int&endindex) { int n=A.size(); int m=B.size(); vector<vector<int> > matrix(n,vector<int>(m,0)); int res=0; for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { if(A.at(i)==B.at(j)) { if(i==0||j==0) matrix[i][j]=1; else matrix[i][j]=matrix[i-1][j-1]+1; if(res<matrix[i][j]) { res=matrix[i][j]; endindex=i; } } } } return res; } int main() { string line; //string x="nihao"; //cout<<x.substr(3); string a,b; string output4[4]={"invalid","forward","backward","both"}; while(cin>>line) { int res=0;//0-invalid 3both cin>>a>>b; if(a.size()+b.size()>line.size()) { cout<<output4[res]<<endl; continue; } //isforward int lcs1=0; int lcs2=0; int endindex=0; lcs1=findLongestSize(line,a,endindex); if(line.size()-endindex>b.size()) { lcs2=findLongestSize(line.substr(endindex+1),b,endindex); if(lcs1+lcs2==a.size()+b.size()) res=1; } //isbackward string rline=line; reverse(rline.begin(),rline.end()); int lcs3=0; int lcs4=0; endindex=0; lcs3=findLongestSize(rline,a,endindex); if(rline.size()-endindex>b.size()) { lcs4=findLongestSize(line.substr(endindex+1),b,endindex); if(lcs3+lcs4==a.size()+b.size()) { if(res) res=3; else res=2; } } cout<<output4[res]<<endl; } return 0; }
点赞
回复
分享
发布于 2016-09-10 21:48
Igor
南京大学 算法工程师
怎么说呢……这个题我卡了个bug,当我发现可以import re的时候,直接用正则就AC了……
点赞
回复
分享
发布于 2016-09-10 21:34
Sun~Shine
西安电子科大 Java
%100通过,用正则表达式 import java.util.Scanner; public class App { public static void main(String[] args) { Scanner sc=new Scanner(System.in); while(sc.hasNext()){ String str=sc.next(); String s1=sc.next(); String s2=sc.next(); boolean a=false,b=false; if(str.matches(".*"+s1+".*"+s2+".*")) a=true; if(str.matches(".*"+new StringBuilder(s2).reverse().toString()+".*" +new StringBuilder(s2).reverse().toString()+".*")) b=true; if(a&&b) System.out.println("both"); else if(a) System.out.println("forward"); else if(b) System.out.println("backward"); else System.out.println("invalid"); } } }
点赞
回复
分享
发布于 2016-09-10 21:33
lovecc
中山大学 Java
点赞
回复
分享
发布于 2016-09-10 21:28
Matthewss
华中科技大学 C++
int main() { int len,len1,len2; while(scanf("%s",sa) != EOF) { scanf("%s",s1); scanf("%s",s2); len=strlen(sa); len1=strlen(s1); len2=strlen(s2); for (int i=0;i<len;i++) sb[i]=sa[len-1-i]; for (int i=0;i<len1;i++) s3[i]=s1[len1-1-i]; for (int i=0;i<len2;i++) s4[i]=s2[len2-1-i]; GetNextval(s1); int a1 = KmpSearch(sa,s1); int a2 = KmpSearch(sb,s1); GetNextval(s4); int b1 = KmpSearch(sb,s4); int b2 = KmpSearch(sa,s4); bool flag1=false; bool flag2=false; if (a1!=-1 && b1!=-1 && a1+len1-1 < len-b1-len2) flag1=true; if (a2!=-1 && b2!=-1 && a2+len1-1 < len-b2-len2) flag2=true; //cout << a1 << len-b1-len2 << a2 << len-b2-len2 << endl; if (flag1 && flag2) { printf("both\n"); continue; } if (!flag1 && !flag2) { printf("invalid\n"); continue; } if (flag1) { printf("forward\n"); } if (flag2){ printf("backward\n"); } } return 0; }
点赞
回复
分享
发布于 2016-09-10 21:27
uia
天津大学 Java
这道题我只通过了70%。。。没有完全AC,会有分数吗?
点赞
回复
分享
发布于 2016-09-10 21:27
夜者在
北京航空航天大学(985) C++
过了90%,还有10%不知道是啥情况
点赞
回复
分享
发布于 2016-09-10 21:15
Matthewss
华中科技大学 C++
只过了60%, 帮忙分析下,写的有点挫
点赞
回复
分享
发布于 2016-09-10 21:15
牛客873413号
浙江大学 C++
hint说n,m站没有旗帜
点赞
回复
分享
发布于 2016-09-10 21:13
真仙忆梦
Java
题目有说车站没有旗子,所以最后一面旗子不可能在车站看到的。。
点赞
回复
分享
发布于 2016-09-10 21:13
暂无评论,快来抢首评~
相关推荐
2025-12-30 23:37
中南大学 Java
选择后端开发还是大模型应用开发?根本不用二选一!
我觉得这是一个伪命题,因为这根本就不是一个A或B的问题。互联网各个部门都喜欢搞ai,也确实有很多结合具体业务开发智能体的需求(主要是大老板喜欢),但是据我观察现实情况有个很现实的结论:现阶段大部分智能体开发,核心执行者都是后端工程师。我本人的工作也包含了部分智能体开发,所以有点发言权。究其原因,一来后端工程师最懂业务逻辑和系统底层架构,能精准捕捉业务痛点,知道哪里适合用 AI 赋能、怎么落地才贴合实际需求;二来智能体开发的核心是 “业务落地” 而非 “大模型底层研发”,技术门槛更多集中在业务拆解、工具整合与流程闭环,而非高不可攀的算法研发,后端工程师上手起来反而更有优势。ai是风口,agent...
等闲_:
业务开发就是prompt+数据,Ai就是中间件,中台或者鸡架会做一些Agentic infra和智能体记忆之类的,再底层一点就是AI infra,MLops,模型微调,推理优化之类的了,所以对于普通后端就是纯业务,没啥技术含量,除非去技术架构组或者底层一点的组,要不AI就是个API,别神话AI应用开发
聊聊我眼中的AI
点赞
评论
收藏
分享
今天 17:21
虾皮信息_客户端开发工程师(准入职员工)
叠纸游戏内推,叠纸游戏内推码
前端面试问题:1. 自我介绍2. 低代码平台Blocksuit方案,这个技术选型的逻辑3. 物料和数据源连接是用什么样的解决方案,还追了一下数据源的获取4. 团队规模,负责的具体内容,职责之类的5. 你认为前端工程化包括哪些方面?你具体做过哪些6. Git提交,你们有引入什么工具,检测方式来控制不规范提交7. 前端监控埋点方面有做过哪些吗8. 后面的职业规划9. 离职原因10. 排期和人手不够的情况,假设你作为leader,你怎么处理冲突?反问:1. 项目情况,技术栈2. 面试流程叠纸游戏26届秋校+27届nova训练营热力全开!🎮我们是:叠纸游戏成立于2013年8月,是一家专注于内容创作的...
点赞
评论
收藏
分享
不愿透露姓名的神秘牛友
2025-12-18 11:41
带实习生真的能把人逼疯!
俩实习生全是槽点,还一个个摸鱼摸到飞起,现在就问:这俩到底咋选?怎么带?实习生 A:一点就透,还能活跃组内气氛,妥妥的机灵鬼。但架不住爱忘事、左耳进右耳出,交上来的活儿也就刚够及格线,摸鱼倒是比谁都积极。实习生 B:做事踏实能落地,进度反馈贼及时,让人省心不少。可悟性是真差,一点小事得反复确认八百遍,巨费时间,摸鱼这事儿也没少干。一个机灵是机灵,就是太不省心;一个稳当归稳当,带起来太费劲。换你你选哪个?这俩到底该咋带啊?
巨龙梦行:
笑死,正职自己摸鱼摸得飞起,转头倒嫌弃起实习生来了,真不知道安的什么心!官儿没多大,谱倒是摆的挺足。
选实习,你更看重哪方面?
点赞
评论
收藏
分享
2025-12-29 10:40
百度_高级研发工程师
我的世界观,就是对抗优绩主义的武器
说到优绩主义,就不得不说,成功的定义是什么? 你学历高,你就成功了,你说的都对。 你更有钱,你就成功了,你说得都对。 你更有权,你就成功了,你说的都对。 本质上充满了,强者对弱者的鄙视,弱者对强者的盲从,没有标准,没有思考,没有道理,只有粗暴的丛林法则,前据而后恭,思之令人发笑。 我们总是以这样的标准来定义成功,可是这样的定义真的对吗?在这样的标准下,催生出的优绩主义,真的对一个人的人生有什么好处吗?我们最后是不是变成了,被滚滚洪流裹挟下的时代的代价?被资本和有心之人操控诓骗下的韭菜? 今天我将从辩证思维,成功标准的定义,二极管思维,学会独立思考,王阳明心学几个方面,来为大家讲如何对抗优绩主义...
鑫鑫向栄:
学历只筛选成绩,不筛选人品
我们是不是被“优绩主义”...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
为什么你的实习是“无效实习”?又该如何做
2795
2
...
双非终于上岸了!!!!
2759
3
...
最后一天,你的2025牛客年度报告即将封存!
2735
4
...
都 2026 年了,还在神话 AI Agent开发吗?
2712
5
...
我的秋招回忆录:从惨败到硕果的成长之路
1553
6
...
简历求锐评,211硕士找实习
1215
7
...
2025找工年终总结
1096
8
...
字节实习生涨薪保真?
1084
9
...
Goodnight World!文科转码兜兜转转的那些年……
930
10
...
第一次感受到世界上有些人真的有优越感
771
创作者周榜
更多
正在热议
更多
#
对2025年忏悔
#
9581次浏览
183人参与
#
机械/制造每日一题
#
82017次浏览
1428人参与
#
一人说一家双休的公司
#
13483次浏览
146人参与
#
机械求职避坑tips
#
82558次浏览
537人参与
#
实习没人带,苟住还是跑路?
#
18533次浏览
338人参与
#
非技术2023笔面经
#
316800次浏览
2684人参与
#
工作中,努力重要还是选择重要?
#
248318次浏览
2412人参与
#
如果秋招能重来,我会____
#
79564次浏览
471人参与
#
面试紧张时你会有什么表现?
#
21099次浏览
154人参与
#
应届生,你找到工作了吗
#
97474次浏览
595人参与
#
每个月的工资都是怎么分配的?
#
81667次浏览
665人参与
#
春招前还要继续实习吗?
#
12042次浏览
134人参与
#
虾皮求职进展汇总
#
362574次浏览
2767人参与
#
影石Insta360求职进展汇总
#
169325次浏览
1345人参与
#
你面试被问到过哪些不会的问题?
#
107263次浏览
1879人参与
#
哪些公司笔/面试难度大?
#
7470次浏览
35人参与
#
秋招被确诊为……
#
280380次浏览
1589人参与
#
AI时代,哪些岗位最容易被淘汰
#
25911次浏览
222人参与
#
滴滴求职进展汇总
#
291538次浏览
2405人参与
#
工作后,谈恋爱还和学生时代一样吗?
#
46856次浏览
389人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务