动态规划-试题(3)-年终奖
来源:互联网 发布:ubuntu ss 全局翻墙 编辑:程序博客网 时间:2024/06/04 19:03
年终奖
/**
小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,
游戏在一个6*6的棋盘上进行,上面放着36个价值不等的礼物,每个小的棋盘上面放置着一个礼物,
他需要从左上角开始游戏,每次只能向下或者向右移动一步,到达右下角停止,
一路上的格子里的礼物小东都能拿到,请设计一个算法使小东拿到价值最高的礼物。
给定一个6*6的矩阵board,其中每个元素为对应格子的礼物价值,左上角为[0,0],
请返回能获得的最大价值,保证每个礼物价值大于100小于1000。
试题来源:楚楚街2016在线笔试练习卷
试题来源:牛客网
*/
分析
状态
设f(i, j)为到达该格时,能拿到的最大价值
状态转移方程
f(i, j) = max{ f(i-1, j), f(i, j-1) }
代码
public static void main(String[] args){ int[][] board = new int[6][6]; /*标记第一行和第一列*/ for (int i = 1; i < board[0].length; i++) { board[0][i] += board[0][i-1]; } for (int i = 1; i < board.length; i++) { board[i][0] += board[i-1][0]; } /*遍历每一行*/ for (int i = 1; i < board.length; i++) { for (int j = 1; j < board[i].length; j++) { int a = board[i-1][j]; int b = board[i][j-1]; board[i][j] += a>b? a: b; } } /*打印结果*/ int len = board.length; int sublen = board[len-1].length; System.out.println(board[len-1][sublen-1]);}
阅读全文
0 0
- 动态规划-试题(3)-年终奖
- 华为机试---年终奖(动态规划)
- 年终奖-动态规划法
- 年终奖(动态规划)---- 京东2016研发工程师编程题
- 动态规划-试题(1)-扔玻璃珠
- 动态规划-试题(2)-背包问题
- 动态规划-试题(4)-转移罪犯
- 动态规划-试题(5)-路灯
- 动态规划-试题(6)-最大差值
- 动态规划面试题
- 动态规划面试题
- 动态规划-面试题
- 动态规划面试题
- 动态规划(3)
- 动态规划(3)
- 动态规划试题:合唱队形
- Dynamic Programing 动态规划试题
- 动态规划之小米面试题
- 1.1 FPGA项目问题 之 RAM的collision
- Ubuntu16.04 + ZED Camera 调试
- Unity前向渲染路径细节(Forward Rendering Path Details)
- hdu3605-二分图多重匹配
- 深入理解分布式事务,高并发下分布式事务的解决方案
- 动态规划-试题(3)-年终奖
- 清华2017研究生开学典礼摘录
- screen相关对象
- 归并排序
- Spring框架IOC,DI概念理解
- Linux文件编程,操作系统的基础知识
- Oracle中sysdba和dba的区别
- navigator相关方法
- ORA-12154: TNS 原理及故障分析