思维训练

思维的陷阱

2009年5月8日 阅读(308)

陷阱1:手里拿着一个锤子,看到什么都是钉子。

首次印象判断失误+类比不严谨,比如NRV优化,比如滥用设计模式。学到一种知识,就像用,无论是否应该使用,喜欢调书袋。

比如看到这个问题N个整数,求其中任意N-1个数的乘积中的最大的一个。我想到的是另一个问题:
算法版:5082 m lonelyyanzi Apr 21 12:50 ○ 【合集】这个题怎么做? (6.1千字)
已知:A1 A2 A3 A4 … An
 B1 = A2*A3* …*An
 B2 = A1*A3* …*An
 Bn-1 = A1*…*An-2*An
 Bn = A1*A2*…*An-1
求出各个Bi(i= 1,2 …,n)
要求不能用除法(除法效率太低),时间负责度为nlog(n), 当时我找到了一个O(n)的算法。

发信人: phylips (星星||决定了,为老婆孩子奋斗), 信区: Algorithm
标  题: Re: 这个题怎么做?
发信站: 兵马俑BBS (Fri Apr  4 23:07:20 2008), 本站(bbs.xjtu.edu.cn)

-_-
maybe我看错题了.
先从上往下
B[1] = 1
for(i = 2 ; i <= n ; i++)
B[i] = B[i-1] * A[i-1];
然后从下往上
t = A[n];
for(i = n-1 ; i >= 1 ; i–){
B[i] = B[i] * t;
t *= A[i];
}

【 在 Safari 的大作中提到: 】
: 怎么做的啊?
: 【 在 phylips (星星||决定了,为老婆孩子奋斗) 的大作中提到: 】
: : 不用除法可以o(n)
: : 我的意思是那个nlgn也是要求?
: : 如果是原地做,值得考虑

回到这个问题,再看只要我们把所有数的乘积求出来,然后根据结果是正数还是负数,分情况讨论一下。或者根本不用求出结果,只要知道正负就可以了。可见与最初的问题要求实际上有很大的不同,导致出现新的更简单的方法。

陷阱2:随便否认题目的可解性

1. 一个数组,其中只有一个数只出现一次,其余数皆出现偶数次。设计Time: O(n) Space: O(1)的算法,得出那个只出现一次的数。
2. 如果只有两个数只出现一次呢?

当时我的感觉是:有些问题从1到2其实是一个本质的变化,不确定但是感觉这个有点像。不知道lz的2题是否存在时间O(n),空间o(1)的?实际上第2个问题,只需要在1的求解方法基础上稍微改进下,就可以了。1可以通过异或直接得到那个数,而第2个只需要,首先异或一次,因为两个数不同,最后结果肯定是个非零0,然后只要找到结果中某个二进制位为1的位置,然后我们再把所有那些该位为0的异或一遍,该位为1的异或一遍,得出的刚好就是这两个数。

陷阱3:自以为是,对结论过度自信,实际还需要更细心一点的思考

 想到一种方法后,应该继续思考,是否还可以简化,或者有其他的方法。

陷阱4:记忆模糊导致类别失误

感觉ms见过,但忽略了某个重要的条件,将新问题当旧问题对待。其实陷阱有陷阱的好处,当我们掉入陷阱的时候,要好好反思,重新整理自己的思维,避免再次掉入同样的陷阱。即使失误,我们可以看到正确与失败两种思维或者方法,错误的方法即使不能在此处运用,但是也有可能在彼处应用,因此对于错误的想法也应该该珍惜。

比如这样的一个问题:

有十箱钢珠,标准每个钢珠10克,每箱600个,这十箱中有几箱中的钢珠是次品,每个重9克。如何做到只称一次,便找出哪几箱是次品?

很多人,直接将它看成其中一箱全是次品。很大程度上是因为看到一个以往记忆中的题目,内心比较激动,即使有稍微的区别,也不会被注意到,导致误判。

陷阱5:

思考欠缺细致,某些部分实际是未经思考,依赖记忆惯性

比如写代码时,循环边界的确定,很多时候未经仔细的思考,而写上去,实际出错再调试花费好长时间才发现。但另一方面,我们必须依赖这样的惯性,所以我们要不断净化思维的通路,让它可以自由自然的在更为正确的方向上自动的游走。

陷阱6:耳听为虚,眼见可虚,感受也可虚

笔试面试千万不要夸夸其谈锋芒毕露!!!

陷阱7:以小人之心度君主之腹 以君子之心度小人之腹

看问题注意多换个角度。实际上世界是复杂的,每个人眼中嘴中都有一个真实,不同的人陈述的事实都会带些个人色彩。考虑多种可能性,不能尽信于人,尽信于书。凡事都要有自己的思考。

陷阱8:进行了一部分成功的思考后,没有继续深入下去思考更简单或者更多的解法

成功容易使人放松。多做一些更深入的思考,对一个问题部分的成功求解,可以带来更大的成功,而不是阻碍更深入的思考。
转载请注明作者:phylips@bmy 出处:http://duanple.blog.163.com/blog/static/709717672009487155577/

You Might Also Like