设计算法1
来源:互联网 发布:php培训机构达内教育 编辑:程序博客网 时间:2024/04/19 08:29
题目:
有一幢100楼的大厦,两部手机,让你设计一种算法确切地知道这部手机在第几楼摔下会坏
分析:
第一步手机是用来决定在0-100层之间需要划分几个区间
第二步手机是用来在已发现可以导致手机摔坏的区间内一级一级往上加楼层已具体测试是哪一层的工具。
假设第一步手机划分的区间为a个,每个区间包含的层数为b。
则可以得出a*b=100。
所谓的最优化,既是让测试的次数尽量最小,即让a+b+1次数尽量最小,也就是让a+b最小。
现在就简单了,转化为一个数学题。已知a*b=100,问当a+b取最小值时,a=?,b=?。
具体做法就是:
将一部手机从10楼扔下,如果坏,则拿第二部手机从一楼开始,逐层往上试,则实验最大次数为10+1=11次。
如果没坏,则将第一部手机从20楼仍下,如果坏,则将第二部手机从11楼开始,逐层往上试,实验最大次数为10+2=12次。
以此类推,当第一部手机从第90层扔下时,如果坏,则从81曾逐层往上,如不坏,也不用从第一百层扔了,从91层开始吧。
0 0
- 设计算法1
- 算法设计作业1
- CC算法设计(1)
- 算法复习(1)-算法设计要求
- 算法设计与分析 (1)
- 算法设计
- 算法设计
- 算法设计
- 算法设计
- 算法设计
- 【算法】算法设计技巧
- 算法设计--算法概述
- 常用算法设计方法 (1)
- 自适应遗传算法学习1--crossover设计
- 算法设计——Chapter 1
- 算法设计与复杂性分析(1)
- 算法设计——0-1背包
- 算法设计与分析-减治法1
- 搭建pcduino交叉编译环境
- Nginx下搭建Nagios
- 原子操作及对C++编程的意义
- AVPlayer介绍
- Lytro转行挺进 虚拟现实领域 推出Immerge相机
- 设计算法1
- Mac OSX10.11更新后sudo竟然不能写/bin,/usr/bin /usr/sbin等系统目录了。
- Firebase 特性翻译
- textview多行文本后加上图片
- eq,neq,gt,lt等表达式缩写
- hdu 2844 Coins(多重背包)
- 冒泡排序
- oscache入门 缓存
- iOS开发通过代码方式使用AutoLayout (NSLayoutConstraint + Masonry)