谷歌 鸡蛋测楼层
来源:互联网 发布:java小游戏代码 编辑:程序博客网 时间:2024/04/30 08:23
package code.improved;public class ThrowEggs { //谷歌高楼扔鸡蛋问题 //从T层高楼扔下鸡蛋,用何种方式使得在最坏情况下,使尝试的次数最少 public static void main(String[] args) { int T=100; int[] mall=new int[T+1];//初始化一个数组,用于存储递归过程中的中间数据 System.out.println(f(T,mall)); } //递归算法 static int f(int n,int[] mall){ if(n<0) System.out.println("error"); if(n==0) return mall[0]=0; if(mall[n]!=0) return mall[n]; int fn_1=f(n-1,mall);//递归函数的结果赋值给局部变量,让递归函数只执行一遍。 //将f(n-i)的第一个结果f(n-1)的结果赋值给minResult,以方便后面循环中的比较。 int result=0,minResult=0>=fn_1?1:fn_1+1; //遍历不同的i,找到最小的f(n)作为返回 for (int i = 2; i <= n; i++) { int fn_i=f(n-i,mall); result=i-1>=fn_i?i:fn_i+1; minResult=result<minResult?result:minResult; } return mall[n]=minResult; }}
阅读全文
0 0
- 谷歌 鸡蛋测楼层
- 两个鸡蛋测楼层
- 楼层扔鸡蛋问题
- 楼层扔鸡蛋问题
- 楼层扔鸡蛋
- 楼层扔鸡蛋问题
- 楼层扔鸡蛋问题
- 楼层扔鸡蛋问题
- 楼层扔鸡蛋问题
- 楼层扔鸡蛋问题
- 楼层丢鸡蛋问题
- ACM--楼层扔鸡蛋问题
- ACM--楼层扔鸡蛋问题
- acm-楼层扔鸡蛋问题
- 【算法】楼层扔鸡蛋问题
- 楼层扔鸡蛋 ? 待解决
- 【引用】ACM--楼层扔鸡蛋问题
- 关于两个鸡蛋判断楼层问题
- 分布式系统的数据一致性问题
- ceph部署时错误分析
- Neural Networks and Deep Learning之中文版翻译-前言
- tomcat7 修改默认项目为自己的项目
- js自定义日期
- 谷歌 鸡蛋测楼层
- Swift 4.0 设置阴影和圆角 (UIBezierPath)
- java的匿名对象
- 容器和虚拟机的区别
- Password UVA
- cassandra报错问题
- 心得
- c++11 thread 参数
- centos7 搭建 reids-cluster 缓存集群