今天按照自己定的步骤,一步一步的完成了面试前的准备工作,到了中午,到楼下的吃了碗骨头汤,就其中两轮车奔赴考场……
大概过了一个小时就到达目的地了,离我住的地方不算太远。
...;在一楼,进去后填了一下简单的简历,一个姓刘的来面试了(可能会是我将来的老大),开始面试……老规矩,先
自我介绍了一番,主要是工作中用到的技术方面……
接着,开始提问,我回答,基本可以回答上来,对RAILS这块经验不是太足……
“其他也没什么要问的,出一道逻辑题:有36匹马,六个跑道?没有记时器等设备,用最少的比赛次数算出跑的最快的前
三名马?”
“先不要谈次数,先算出三匹最快的吗?”
一开始还有点蒙,有点不知所措,后来,慢慢的开始思考:36匹马,分6次跑,各取最快的最快的一匹,然后从其中选
出三个最快的马? 这样明显不对,左思右想,前三匹,前三匹……
对,就是前三匹:将马分六次跑,各取前三名,剩下:18匹;在分三次,再各取前三剩下:9匹;再将九匹,分成两
次,一次5个,一个4个,取前三;最后还有六个,在比就得出前三名了;( 其实这里用了12次,可以变成11次,就是
剩下9匹的时候,任意选择6匹马比较,取前三,这样就可以少一次了!)
第一关算是过了,不过不是最佳答案,听他的意思,最佳答案要比12次要少,其中还提示我一下:就是六次跑完了以
后,六个第一名进行比较!
我想了想,还是很头大,不过第一名肯定是再这六匹马里面,我冥思苦想啊,没有结果, 他又提示我:你用了十二次,可不可以9次算出前三名!?
那就是说在比两次,就可以出来23名了??我开始深入一个陷阱无法自拔……卡住了……
最后没办法,他开始将给我听还画图:最快的马比完后,得出第一名,将第一名的那个组的第二名,再和其他组的第一名比,得出第二名;得第二名的那个组,下面一名再比就出比出了第三名了,OVER!
开始听他讲,还是不太明白,后来看他画图才恍然大悟。
其实前面我的思路中的一个假设(自己将这个假设变成了对的),这个假设是不成立的: 某个组的有第二或者第三名,一开始这个假设是对的,但是所有组的第一名出现了,这个假设就彻底的错了 。 因为所有组的第一名出来后,第二名就只会在剩下的五名第一和那个第一名的组了,第三名也是一样。还有就是,这种思路很接近程序思考的角度,就是六匹马比完了以后,他们有了次序,在通过这个次序来比出前几名。
在路上好好想了一番,才彻底的想通了。开心哦。
我犯了,思路上错误,还是太过局限型,不够开阔。
RUBY ON RAILS 我来啦。加油。QJ