金山WPS C++开发 笔试

单选多选一共40分,没啥好说多,编程题一共三道:
1.kanan和高音,后一个音比前一个音高度差大于8的时候就唱不上去了,给定一个音高数组,求最多能唱多长一段的音。这个用双指针过了。
2.字符串替换,给定两个字符串,把第一个字符串里的"%s"按顺序替换成第二个字符串里的字符,没用到的字符补到第一个字符串后面。模拟一下就过了
3.游游的水果大礼包,有n个苹果,m个桃子,可以把两个苹果和一个桃子组成价值为a的1号礼包,一个苹果两个桃子组成价值为b的2号礼包,问最多能组成总和多少的大礼包。
用dp做的,定义dp[i][j]表示从前i个1号礼包,j个2号礼包里选组成大礼包价值最大,转移方程设的是dp[i][j]=max(dp[i-1][j]+a,dp[i][j-1]+b),但是样例只过了70%就爆内存了,可能是要优化成一维dp才行,后面还有恒生的笔试,就直接交了没再继续。希望金山能给个面试机会。
全部评论
一样早点交了,赶恒生的笔试,佬恒生笔试怎么样
点赞 回复
分享
发布于 03-21 22:14 河北

相关推荐

1 17 评论
分享
牛客网
牛客企业服务