字体
第(1/2)页
关灯
   存书签 书架管理 返回目录
    孟响开始奋笔疾书。他感觉,如果用键盘,他写代码的速度只是一般,毕竟手速跟不上脑子。但是用笔,他仅仅用了3分钟,就撸出了第一个版本的主体函数。当然,这只是八皇后主体程序。

    八个f一r循环鼎立在前方,他有百分百的把握,只要写完,这个解法一定是正确的。

    只是他遇到了一个难题。

    如果n不是定值时,他不知道要写几个f一r。

    如果n是10,他就是10个f一r循环

    “这个就是,8个循环嵌套,百分百能求出来,但是如果是n皇后”孟响说着说着,声音小了下去。

    “哥哥!你怎么能用这么笨的方法。”孟梦看到哥哥写好的主体,有些哭笑不得。这种8个f一r,计算量完全就是指数形式的,属于所有方法中时间最慢,消耗资源最多的方法。

    孟响有些尴尬的摸了摸脑袋,时间太短了,他也没法一下想的那么全。

    “那换一种,反正这个的n皇后版本我也不知道怎么改。”孟响在写8个f一r循环时,脑中已经有了一定雏型,翻过一页纸后,就继续开始写起了第二版。

    “先对每一行的每一列进行探测,看是否能放置皇后,如果可以,就在这一列放一个皇后,然后行数加一。然后继续探测下一行的皇后位置。”孟梦在旁边提醒道。

    孟响一边点头,一边飞快的开始写主体函数。

    “是不是如果已经探测完所有的列都没有找到可以防止皇后的列,就可以回溯了?”孟响抓住一点思路,下意识问道,问的同时,手上的笔一直没停。

    “嗯!回溯之后,把上一行的皇后位置往后移一列——”

    “如果上一行的皇后也找不到位置,那么应该就继续往前回溯,直至前方某一行找到皇后的位置能移动,或者回到第一行!”孟响接话道,他思路一下子清晰了。“如果回到第一行,也无法找到可以放置皇后的位置,那就表示所有的解都已经找到。”

    “哥哥真聪明。”听到哥哥的话,孟梦的大眼睛眯成了月牙儿。她继续说道:“同时,如果一直不用回溯,找到最后一行放置皇后,就表示已经找到一个结果。”

    “明白了,因为要找的是所有的解,那么,找到了一个结果后不能直接结束程序,程序应该在第一行无法找到放置皇后的位置时结束。而找到一个结果后,应该清除掉,然后在刚刚放皇后的下一列开始探测。”

    孟响嘴里念念叨叨,脑中飞速运转,手上书写的速度更是没有丝毫停顿和放缓,白纸上飞快出现一行行代码。有了孟梦的助力,孟响很快就写完大部分程序。这次,他的循环一下精简到了两个hile,和刚刚8个f一r简直有着天差地别。

    这次,他仅仅用了5分钟,就写好了3个函数。

    在手写代码的速度上,他有着无与伦比的优势。别人都是受限于思考速度,必须一边停笔理顺思路一边写,而他则不被这个问题困扰。即便是妹妹,也绝对没有他这种快枪手的速度

    “还有10分钟才结束,哥哥真厉害。”孟梦看着哥哥满满地写了一大版,既惊叹哥哥书写代码的速度,又惊叹哥哥非凡的思考速度和理解能力。

    哥哥果然和自己一样,也是很聪明的孩子!

    “我们一起来过一遍,我来说每个地方的用处,你来帮我把把关。”孟响大致扫了一眼程序。

    孟梦点了点头,一边听着哥哥解释程序的逻辑,一边开始判断逻辑的正确性以及是否能优化。

    “二维数组改成一维数组,数组下标表示行,数组元素表示列,这样能节省内存!”高三那名集训队的学长眼前一亮,思如泉涌。看了看时间,他立马开始写起了第二版的程序。

    “递归算
上一章 目录 下一页