zzxd_ level
获赞
30
粉丝
3
关注
4
看过 TA
1
门头沟学院
2021
算法工程师
IP属地:北京
暂未填写个人简介
私信
关注
2020-08-08 17:00
已编辑
门头沟学院 算法工程师
C++ 开发岗位笔试 做到现在的各公司笔试题,第一次做出来3道题,纪念一下!以后可能就没机会了。。。 第一题: 给个英文字母字符串,长度10^3以内,在后面加随便英文字母,找出最短回文字符串 第二题:给一堆(最多15)有价值的东西,均分给2个人,均分不了的,扔掉,求最小扔掉多少 第三题:n(不超过2000)个人排队买票,第i个人要么单独买票,要么和后面一个人一起买(反过来,就是可以和前面一个人买),单独买花费时间a[i],一起买是b[i],求最短时间,售票员可以回家。开始时间是早上08:00:00 am,输出结束时间。(12点都算a...
zzxd_:第一次发帖,看到有人赞我,莫名开心。 我在这里,简要说一下思路。 第一题,就是暴力,从字符串开头,扫,substr(i, length-1)只要是回文串,这时,只要把(0, i)追加到字符串末尾,就ok了,当然记得(0,i)翻转过来。 第二题,还是暴力啊,看见n那么小,就最多15,妥妥的dfs+剪枝,从0到n-1,每次碰到一个,要么给a,要么给b,要么扔掉。在dfs过程中,当a == b时,更新 cost 最小值。这里剪枝,主要是发现a和b差太多了,把剩下的都给他,都补不上来,那还搜个啥。 第三题,n有2000,emmm,暴力n^2没想出来,dp想出来了。 dp[j][0]表示,到第j个人,且j选择单独买,要的最少时间; dp[j][1]表示,j选择和后面人一起买,最少时间; dp[j][2]表示,j选择和前面人一起买,最少时间; 然后,这些状态,和dp[j-1, 0/1/2]或者dp[j-2, 0/1/2]有关系了。
投递网易等公司10个岗位 >
0 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务