四道编程题80分,两道问答题20分。一共做两个小时。
1.一个只有0,1的字符串,分割为左右两个子串,左边0算2分,1算1分,右边0算1分,1算2分。怎么分割分数最大,求最大的分数。
2.一个数组,给定T,K, 求满足对称数的组数:num[i]+num[j] = T且 |i-j|<=k;
3.摆书架的问题:给定不同的商品宽度num[],书架的宽度x,要求每层书架只能放最多两个商品。怎么摆层数最小?
4.跳方格的问题,给定一个金币数组num[], 以及初始金币数,你可以从0开始也可以从1开始跳。每次可以跳1格,花费2个金币,或者跳2格,花费3个金币。跳到哪个方格就可以获得方格内的金币(约定大于等于0)。如果跳到了结尾或者金币不够跳一次了就停止。求结束后获得的最大金币数。样例1:{1,3,1,2,4} 原始金币3,答案:4。样例2:数组{1,3,2,3,1,1,1,5,1,0},原始金币3,答案:4
问答题:没做,写编程写得昏天暗地,忘了还有问答题了,第一题不记得是啥了,第二题是“如果用户登录不上了,有可能是哪些原因?”
PS:第4题用bfs超时,只过了80%,dp试了一下,没调出来就交卷了,有没有大神上个动态规划的解?
全部评论
(4) 回帖