智力题
文章目录
【注意】最后更新于 October 10, 2019,文中内容可能已过时,请谨慎使用。
题目信息
- 链接:汽水瓶
 - 来源:nowcoder
 - 难度:2颗星
 
一、描述
只有题目理解到位,你可能进入下面一个环节,如果不熟悉场景,你可要小心了
- 
我目的是训练动手和清晰思路。
 - 
从简单和中等开始,如果是难题,我不是学各种技巧的。
 
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。
如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?
假如 :小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”
答案是5瓶,
方法如下:
先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。
然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。
二、举例
- 在思路之前和实现之后都用
 
| input | output | 
|---|---|
| 0 | 0 | 
| 1 | 0 | 
| 2 | 1 | 
| 3 | 1 | 
| 4 | 2 | 
| 5 | 2 | 
| 10 | 5 | 
三、思路
为了形成你思路,并且把思路转换成步骤描述。请按照下面准备
- 
关闭一切浏览器网页查看分析
 - 
关闭一切当前处理任务
 - 
关闭一切要学习的任务。
 - 
太简单和太难这样描述不是解题步骤
$$ 10=3*3+1— left=1+3 $$
 
$$ 4=3*1+1 –left =2
left=2+1(借一换一) $$
画外音:
自己根本没有认真看题目要求,题目给出解题过程,一直停留在想想中困难。
方法如下:
先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。
然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。
四、实现
你可以实现。你可以做到
- 
你按照你理解,就用最笨方法,你要写出来。其他高级技巧,我不懂,我也会。
 - 
不要因为不是最佳,最巧妙,最完美。不符合别人网上流程标准解法 就停止写
通过写,来验证你步骤描述是否正确,你分析是否正确,必须去。
 - 
在没有写出来之前,拒绝一切总结,写文档,还有告诉别人。
自己做不到,不清楚事情,你告诉别人,鬼才信呢!
 
 | 
 | 
五、回顾
- 耗时统计
 
| 步骤 | 分钟 | 备注 | 
|---|---|---|
| 打开题目 | 30 | 都看什么了 | 
| 分析题目 | 60 | |
| 实现题目 | 60 | |
| 查看答案 | 60 | 
- 
解题线索
每次递归剩余空瓶怎么计算的。
 
六、 举一反三
换个马甲就不认识了。
746. 使用最小花费爬楼梯
$$ 走过阶梯i的消耗能量函数 f(i)=\begin{cases} min(f(i-1),f(i-2)) & i=n \ min(cost[i-1]+f(i-1),cost[i-2]+f(i-2)) & i<n \end{cases} $$
爬到第n个楼梯是不需要消耗费用的
排到其他的楼梯是消耗cost[i]
分享最实用的经验 , 希望每一位来访的朋友都能有所收获!
请忘记我说每一句话