腾讯二面上机题

腾讯二面这道题跪了,有老哥能分享下思路吗:
微信跳-跳游戏
1、有100个格子,每个格子上有一 个蘑菇,蘑菇分为好蘑菇和毒蘑菇,好蘑菇增加体力值n,毒蘑菇消耗体力值n
2、人的初始体力值为m
3、跳的格子的距离与消耗的体力值成正比,正比关系是1:1
问题:输入一个人的初始体力值m和格子初始化序列list,求问:写一个函数, 判断该人是否能否跳到终点?如果不能,函数返回-1,如果可以,返回剩余的最大体力值。
int MaxValue(int m, const vector<int>&veclnit){}

#笔试题目##实习##腾讯#
全部评论
哪个岗位的啊😂
点赞 回复 分享
发布于 2019-03-13 14:28
dp(i)表示跳到第i个格子的最大体力,转移方程dp(i)=dp(i-x)-x+a(i)
点赞 回复 分享
发布于 2019-03-13 14:53
    public static int MaxValue(int m, ArrayList<Integer> list) {         int start = 0;         int index = start;         for (; index < m; index++) {             if (index >= list.size()) {                 break;             }             if (list.get(index) > 0) {                 m += list.get(index);                 m -= (index - start);                 start = index;             }         }         if (index >= list.size()) {             return m;         } else {             return -1;         }     } 不知道对不对,没有oj能测试了
点赞 回复 分享
发布于 2019-03-13 21:07
动态规划
点赞 回复 分享
发布于 2019-03-14 11:31
广搜?
点赞 回复 分享
发布于 2019-03-14 15:09

相关推荐

点赞 19 评论
分享
牛客网
牛客企业服务