美文网首页
n层楼扔m个鸡蛋问题(java代码)

n层楼扔m个鸡蛋问题(java代码)

作者: Allerbmu | 来源:发表于2018-04-04 14:22 被阅读0次

第九届蓝桥杯填空题。当初看到题目的时候还很窃喜是眼熟的面试题,结果过于紧张…

原题:(前略)用3个手机,楼高1000,算出最优策略下最坏情况的测试次数。

算法核心:动态规划

代码(Java):


public class ThrowEggs {

 public static void main(String[] args) {

  int[][] d = new int[1001][4];//有j个鸡蛋测试i层楼需要扔几次

  for(int i = 1; i <= 1000; i++){

   d[i][1] = i;//1个鸡蛋扔i次可以测试i层楼

  }

  for(int i = 1; i <= 1000; i++){

   int min = Integer.MAX_VALUE;

   for(int j = 1; j <= i; j++){

    min = Math.min(min, Math.max(j, d[i-j][2]+1));

   }

   d[i][2] = min;

  }

  for(int i = 1; i <= 1000; i++){

   int min = Integer.MAX_VALUE;

   for(int j = 1; j <= i; j++){

min = Math.min(min, Math.max(d[j-1][2]+1, 

      d[i-j][3]+1));

   }

   d[i][3] = min;

  }

  System.out.println(d[1000][3]);

 }

}

随便写的,可以再套一个循环来表示分别扔k个蛋,这里只求三个蛋,就不循环了。
答案是19。

相关文章

  • n层楼扔m个鸡蛋问题(java代码)

    第九届蓝桥杯填空题。当初看到题目的时候还很窃喜是眼熟的面试题,结果过于紧张… 原题:(前略)用3个手机,楼高100...

  • swift解决双蛋问题

    双蛋问题: 有t层楼,n个鸡蛋,鸡蛋从某层楼以上掉下肯定会摔碎,从该层楼以下掉下肯定不会摔碎。现在求最少扔几次能够...

  • 有趣的扔鸡蛋问题

    题目:扔鸡蛋问题 有2个鸡蛋,从100层楼上往下扔,以此来测试鸡蛋的硬度。比如鸡蛋在第9层没有摔碎,在第10层摔碎...

  • 漫画:有趣的扔鸡蛋问题

    本文转载自程序员小灰 ————— 第二天 ————— 题目:扔鸡蛋问题 有2个鸡蛋,从100层楼上往下扔,以此...

  • 谷歌“扔鸡蛋问题”

    问题: 假设有2个鸡蛋和100层楼,将鸡蛋从第n层扔下,鸡蛋没有碎,将鸡蛋从n+1层扔下,鸡蛋碎了,那么n层就...

  • 动态规划,dfs

    鸡蛋掉落问题 你将获得 K 个鸡蛋,并可以使用一栋从 1 到 N 共有 N 层楼的建筑。每个蛋的功能都是一样的,如...

  • 随机取样的实现

    阅读《编程珠玑》取样问题,有感,遂Java实现。 需求 程序的输入包含两个整数m和n,其中 m

  • 【LintCode】254. 丢鸡蛋

    楼有 n 层高,鸡蛋若从 k 层或以上扔,就会碎。从 k 层以下扔,就不会碎。现在给两个鸡蛋,用最少的扔的次数找到...

  • 普通人如何扔鸡蛋

    原题如下 一幢 100 层的大楼,给你两个鸡蛋,如果在第 n 层扔下鸡蛋,鸡蛋不碎,那么从第 n-1 层扔鸡蛋,都...

  • LintCode 翻转链表 II

    题目 翻转链表中第m个节点到第n个节点的部分 注意事项m,n满足1 ≤ m ≤ n ≤ 链表长度 代码

网友评论

      本文标题:n层楼扔m个鸡蛋问题(java代码)

      本文链接:https://www.haomeiwen.com/subject/upmkhftx.html