第十四章 迷路的牛仔 (第2/2页)
果不其然,他很快翻出了一个小小的便笺,上面画着一些指示。
杨成定睛一看,这都是英文啊。
[“NORTH“,“SOUTH“,“SOUTH“,“EAST“,“WEST“,“NORTH“,“WEST“]
杨成第一眼看过去,就感觉有点不合理了。
假如这是方向的指示,“NORTH“和“SOUTH“,这一南一北,有意义吗?
还不如呆在原地,也不用做无用功啊!
杨成心里明白,这个关卡考察的就是怎样精简路线,以节约体力。
“NORTH“和“SOUTH“可以做抵消,“EAST“和“WEST“也可以做抵消。
那么刚才的路线指示经过抵消之后,就只剩下一个方向——“WEST”,直接往西边走!
但对于程序而言,怎么编写一个减少路线的函数呢?
第一步,建立方向的映射关系,哪些是相反的方向,比如东西,南北。
接着,遍历这些指示方向,遇到相反的方向,就移除,抵消。
这个过程将一直持续到,没有任何相反的方向为止。
此时剩下的指示就是经过精简后的最佳路线。
“叮!”,在杨成敲完代码后,系统音及时地响起来。
“恭喜您完成迷路的牛仔任务!”
“先前积分29分”。
“循环求解问题奖励2分”。
“对象映射关系建立奖励1分”。
“当前积分32分,击败了全球19%的玩家,请您再接再厉!”
“肚子好饿啊,ESC,成哥我先去吃点早餐”。