枣子的帖子早已在网上“泛滥”。巧的是,今天又读到了。以下是我读“枣子”想到的。
“枣子”在叙述面试时,常提到一个词:效率。但究竟是不是对效率的追求引发的问题呢?
看第一个例子:计算1-2+3-4+5-6+7......+n(n值可能极大)。
讲讲我的思考过程:
(1)明确问题是什么
计算一个数学表达式的值——>序列具有规律性——>n的奇偶性及对2的倍数决定表达式的值;
(2)规范表达问题
IF n为奇数
THEN 表达式值=(n-1)/2+1;
ELSE 表达式值=n/2*(-1);
(3)编程解决问题
明确了问题,似乎就不仅仅是由于n取值可能过大而引发的效率问题了。
发现、明确问题是根本。
无论采用什么样的程序语言、掌握了如何高超的编程技艺,如果无法认识到待解决问题的本质,那一切都是白搭。最近,我有一种强烈的感受就是:只要敢于问为什么,就一定能尽量地接近问题的本质。而问为什么时,就依靠自己的通过已积累知识建立的本能或直觉。