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 , …… ,算起来没完没了了 。

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

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

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

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

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

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

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

  • 相关阅读:
    /etc/init.d/functions: No such file or directory报错问题
    在Linux上安装Python3.7.1
    python 使用openpyxl实现读写xlsx文件
    Git 撤销本地修改
    element的el-table表格自定义表头,slot="header"内,数据不更新的问题
    记录下本地修改文件名称大小写问题线上说找不到文件
    解决国内访问github慢的问题笔记
    vue项目中使用echarts实现疫情地图
    uni-app项目搭建
    uniapp引入uni-ui组件报错TypeError: this.getOptions is not a function
  • 原文地址:https://www.cnblogs.com/lovesqcc/p/12483232.html
Copyright © 2011-2022 走看看