文章目录

  • 题目
  • 解题思路
  • 代码

题目

牛客

解题思路

这道题属于贪心算法,但本质仍然是动态规划。对于这样一个棋盘,到达(i,j)这一点要么是上一行(i-1,j)向下移动一行得到,要么是前一列(i,j-1)向右移动一列得到

因此我们可以建立一个相同的矩阵gifts,gifts[i][j]表示从起点到i,j这一点中某条路径代表的礼物价值值总和,最终返回数值即可

这个计算过程中有三个特殊情况

  • 情况1:如果是起点,那么直接忽略即可
  • 情况2:如果处在第一行,那么由于是第一行,所以从起点走,它只可能是向右不断走得到的
  • 情况3:如果处在第一列,那么由于是第一列,所以从起点走,它只可能是向下不断走的到的

其余情况均是即可向右走,也可以向下走

代码

class Bonus {public:int getMost(vector<vector<int> > board) {// write code hereint length=board.size();int width=board[0].size();vector<vector<int>> gifts(length,vector<int>(width,0));gifts[0][0]=board[0][0];for(int i=0;i<length;i++){for(int j=0;j<width;j++){if(i==0 && j==0)//情况1continue;else if(i==0)//情况2gifts[i][j]=gifts[i][j-1]+board[i][j];else if(j==0)//情况3gifts[i][j]=gifts[i-1][j]+board[i][j];else//正常情况gifts[i][j]=max(gifts[i-1][j],gifts[i][j-1])+board[i][j];}}return gifts[length-1][width-1];//返回到右下角的礼物价值值总和}
};

动态规划经典题之年终奖相关推荐

  1. 笔试强训第三周编程题part01(年终奖,迷宫问题;微信红包,计算字符串的距离;小易的升级之路,找出字符串中第一个只出现一次的字符,洗牌)

    年终奖 OJ链接 此题是一道动态规划的问题 读题可知:只能从上往下和从左往右移动 由此需要前[i-1] [ j ]和[i][j-1]来比较大小来确实最优解. 其中有两种特殊情况,第一行和第一列 代码如 ...

  2. 2016京东编程题:年终奖

    年终奖 题目描述 小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6*6的棋盘上进行,上面放着36个价值不等的礼物,每个小的棋盘上面放置着一个礼物,他需要 ...

  3. 动态规划经典题之编辑距离

    文章目录 题目 解题思路 (1)基本过程 (2)动态规划-递归 (3)动态规划-dp table 代码 题目 leetCode72:编辑距离 编辑距离算法是一个非常实用的算法,它的作用是求出把一个字符 ...

  4. 动态规划经典题:给出两个字符串s1和s2,返回其中最大的公共子串

    求公共子字符串问题(连续的) 这个题目是当时远景能源公司现场笔试的一道题目,当时根本就不知道动态规划是什么鬼,直接上来就暴力求解,面试官很谄媚的问我,你这能求出来吗?当时很年轻的说,能啊!现在想,当时 ...

  5. 动态规划经典题之石子合并

    题目描述 在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分 试设计出1个算法,计算出将N堆石子合并成1堆 ...

  6. 125亿元!华为公开晒年终奖

    新京报讯 (记者刘兰兰)华为昨日披露了2012年经营业绩预测.华为首席财务官(CFO)孟晚舟称,去年全球销售收入预计达到2202亿人民币,同比增长8%.她预计华为员工奖金总额是125亿人民币,较201 ...

  7. 刷题笔记之十一 (计算字符串的编辑距离+微信红包+年终奖+迷宫问题+星际密码+数根)

    目录 1. 计算字符串的编辑距离 2. 微信红包 3. 双向链表修改,比如插入新的结点,一定要画图 4. 一颗完全二叉树第六层有9个叶结点(根为第一层),则结点个数最多有109 5. 将N条长度均为M ...

  8. Java/java程序设计多态参数:练手小题:父类员工类含有普通员工和经理两个子类,普通员工有work方法,经理有特有属性年终奖,和manage方法现要求在主文件中设计能调用所有类的年薪方法和工作方法

    多态参数:练手小题 1. 前言: 2. 分析需求: 2.1 主类Employee分析 2.1.1 主类Employee代码片段 2.2 子类work普通员工分析 2.2.1 子类work普通员工代码片 ...

  9. 华为机试---年终奖(动态规划)

     题目描述 小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6*6的棋盘上进行,上面放着36个价值不等的礼物,每个小的棋盘上面放置着一个礼物,他需要从 ...

最新文章

  1. 二维码检测哪家强?五大开源库测评比较
  2. matlab获取标量
  3. TCP/IP总结(2)基础概念
  4. Spring Ioc 源码分析(一)--Spring Ioc容器的加载
  5. php合同在线签约功能_【市场在线】杭汽辅机实现海外发电市场重大突破 —成功签约阿联酋Fujairah F3 IPP项目表冷器合同...
  6. 系统分析之100亿级日志系统是怎么设计出来的?
  7. Python中断并继续
  8. e值的MonteCalo法估计
  9. hdu-2112 HDU Today(最短路)
  10. 构建综合性平安校园视频监控系统,全面保障在校师生安全
  11. [收藏] Flash闪存颗粒和工艺知识深度解析
  12. 网页中的一键加QQ群、唤起QQ群聊天窗口
  13. javascript中caller与callee的作用以及用法
  14. 可以免费打电话的网站
  15. 安卓手机上通过termux安装ubuntu
  16. Delphi XE4 IOS 开发, No eligible applications were found“
  17. 人脸识别门禁方案汇总和应用分析,解析指标背后的含义
  18. JQuery实现手风琴
  19. VUE(四):引入iview
  20. 电影级动态图片制作PS动作

热门文章

  1. mysql dp.cal 显示汉子_计算1到N中各个数字出现的次数 --数位DP
  2. 同学,要开学了,你的导师也很焦虑
  3. MacOS安装失败?教你如何使用Mac恢复功能
  4. 云服务器主体信息可以变更吗,云服务器备案号是什么?备案号存在能否更换云服务器?...
  5. P5733 【深基6.例1】自动修正(C++、python代码)
  6. 1.13 编程基础之综合应用 12 分数求和 4分 python
  7. STM32CubeIDE教程-现场表达式切换数字进制表示
  8. [4] ADB 应用管理
  9. vue2.0 路由不显示router-view
  10. python自学到大牛_开始学习Python+一位大牛整理的Python资源