智力题
文章目录
【注意】最后更新于 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]
分享最实用的经验 , 希望每一位来访的朋友都能有所收获!
请忘记我说每一句话