package DynamicProgramming;/*** DynamicProgramming solution for the Egg Dropping Puzzle*/public class EggDropping {// min trials with n eggs and m floorsprivate static int minTrials(int n, int m) {int[][] eggFloor = new int[n + 1][m + 1];int result, x;for (int i = 1; i <= n; i++) {eggFloor[i][0] = 0; // Zero trial for zero floor.eggFloor[i][1] = 1; // One trial for one floor}// j trials for only 1 eggfor (int j = 1; j <= m; j++)eggFloor[1][j] = j;// Using bottom-up approach in DPfor (int i = 2; i <= n; i++) {for (int j = 2; j <= m; j++) {eggFloor[i][j] = Integer.MAX_VALUE;for (x = 1; x <= j; x++) {result = 1 + Math.max(eggFloor[i - 1][x - 1], eggFloor[i][j - x]);// choose min of all values for particular xif (result < eggFloor[i][j])eggFloor[i][j] = result;}}}return eggFloor[n][m];}public static void main(String args[]) {int n = 2, m = 4;// result outputs min no. of trials in worst case for n eggs and m floorsint result = minTrials(n, m);System.out.println(result);}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。