博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编程题-年终奖
阅读量:5788 次
发布时间:2019-06-18

本文共 1928 字,大约阅读时间需要 6 分钟。

小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6*6的棋盘上进行,上面放着36个价值不等的礼物,每个小的棋盘上面放置着一个礼物,他需要从左上角开始游戏,每次只能向下或者向右移动一步,到达右下角停止,一路上的格子里的礼物小东都能拿到,

请设计一个算法使小东拿到价值最高的礼物

给定一个6*6的矩阵board,其中每个元素为对应格子的礼物价值,左上角为[0,0],请返回能获得的最大价值,保证每个礼物价值大于100小于1000。

分析:运用了动态规划思想,求最优解。

    注意二维数组的循环,要用两层循环,外层循环行,内层循环列。、

如:int board[][]=new int[4][3];

  for(int i=0;i<board.length;i++){//外层循环行

    for(int j=0;j<board[0].length;j++){//内层循环列

  }

}

 

public class DynamicPro{	public static void main(String[] args) {			int board[][]={						   {564 ,448 ,654 ,186 ,490 ,699},						   {487 ,444 ,563 ,228 ,365 ,261},						   {429 ,505 ,612 ,564 ,715 ,726},						   {464 ,617 ,234 ,647 ,702 ,263},						   {245 ,249 ,231 ,462 ,453 ,646},						   {669 ,510 ,492 ,512 ,622 ,135}						  };						  System.out.print(getMost(board));						 } 			//基于动态规划的思想,不仅仅局限于6*6矩阵,适用于所有的N*M矩阵以及所有的方阵。		public static int getMost(int[][] board) {         //两个for循环用来遍历二维数组不用多说。	        for(int i = 0 ; i
templeft){ board[i][j] +=temup ; }else{ board[i][j] +=templeft; } } } } /* 初始数组的情况。 564 448 654 186 490 699 487 444 563 228 365 261 429 505 612 564 715 726 464 617 234 647 702 263 245 249 231 462 453 646 669 510 492 512 622 135 */ /*结束后返回的数组。 564 1012 1666 1852 2342 3041 1051 1495 2229 2457 2822 3302 1480 2000 2841 3405 4120 4846 1944 2617 3075 4052 4822 5109 2189 2866 3306 4514 5275 5921 2858 3376 3868 5026 5897 6056 可以看到,最后一个坐标点的值6056,他就是当前最优的路径所得出来的值 */ return board[board.length-1][board[0].length-1]; }}

  结果:

技术分享

 

标签:                           

原文:http://www.cnblogs.com/GumpYan/p/5838094.html

你可能感兴趣的文章
图的基本算法
查看>>
《架构之美》摘录三
查看>>
myeclipse6.5上基于JAX-WS开发Webservice(中文示例)
查看>>
HTML基础(一)
查看>>
谈谈冒烟测试
查看>>
boost.circular_buffer简介
查看>>
Database Appliance并非Mini版的Exadata-还原真实的Oracle Unbreakable Database Appliance
查看>>
CORTEX-M3 异常/中断控制(使能和除能)
查看>>
网页图片缩放(js)
查看>>
没有设计模式画小人,有趣画板
查看>>
Silverlight 浏览器外运行及更新判断
查看>>
(转)NS2无线网络遗失模型
查看>>
虚拟化架构中小型机构通用虚拟化架构
查看>>
cocoa touch 组件
查看>>
Oracle体系结构及备份(十)——sga-others_pool
查看>>
Bootstrap Popover 隐藏的Javasript方法
查看>>
memcache使用方法测试
查看>>
POJ 3347 Kadj Squares
查看>>
JSP技术模型(五)JSP隐含变量
查看>>
console.log的一个应用 -----用new方法生成一个img对象和document.createElement方法创建一个img对象的区别...
查看>>