zoukankan      html  css  js  c++  java
  • 考考你:一道题引发的小思考

    有位朋友给出了一道题:

    有两列火车相距100千米,在同一条轨道上相向行驶,一列火车的速度是每小时30千米,另一列的速度是每小时20千米。当两列火车相距100千米时,一只鸟以120千米的时速开始从火车A飞向火车B,到达后再飞回火车A,如此往复直至两列火车相撞。当两列火车相撞时,鸟一共飞了多远?

    看到这道题,第一直觉是 100 千米,可不就是两列火车一共行驶的距离么 ?错了。这是受到了脑筋急转弯的影响,但是弯转错了额。你能想象人体内的血管连起来可以绕地球两周半吗 ?

    不能马上得出结论,只好计算了。第一次鸟飞了 100 / (120+20) 120 = 600/7 千米;第二次鸟飞了 (600/7 - 150 /7 ) / (120+30) 120 = 360 / 7 , …… ,算起来没完没了了 。

    仔细想想,肯定有巧解之法。你想到了么 ?

    朋友说,这个问题如果能够从最终结果反推,就很容易得到答案了。嗯,这是她的独特心得。

    我能从中获得什么收获呢 ?能够跳出条框的思考,固然很棒, 但在那一刹那的灵感突现之前,其实并不容易做到。

    进而我想到,这道题有两种求解思维:一种加法思维,一种乘法思维。第一本能是加法思维,把每一趟鸟飞的距离加起来,但是计算繁琐;不容易想到的是乘法思维:鸟飞行的距离 = 鸟飞行的时间 * 速度。当想到这一点时,仿佛在一瞬间获得了某种洞察力。你超越了表面的极具迷惑性的形式。

    这说明,我们在求解问题时,常常容易陷入到第一本能思维,被形式牵着走。但其实跳出来一看,是否还有其他的途径呢 ?不妨先发散一下。

    这就好比深度优先遍历算法和广度优先遍历算法。深度优先遍历算法,一根筋走到底,不入死胡同不回头;广度优先遍历算法,则会先找出所有可能的途径,然后沿着某个途径再寻找多个途径。依次反复。

    在思考解决方案的初期,显然广度优先遍历更容易让人看到整体,更容易让人去探索一种洞察力,而不被本能思维所束缚,尽管本能思维在处理常规问题上游刃有余。

  • 相关阅读:
    静态导入
    OC中的Debug表达式
    友盟消息推送(一)
    Xcode7.0 更新完后,网络请求报错
    HTTP返回的状态码
    ios 通知监听App进入后台,然后再进入App(获取验证码的时间间隔)
    iOS保存model数据(自定义Model 可以存放到本地)
    tatableView 刷新
    iOS bounds和Frame的区别
    UIButton下面添加滑动的线
  • 原文地址:https://www.cnblogs.com/lovesqcc/p/12483232.html
Copyright © 2011-2022 走看看