“寻友之旅” 菜鸟解题思路(不对请佬指正)

65 阅读2分钟

当青训营遇上码上掘金

这是我第一次分享自己的解题思路,大概率不对,请各位能高抬贵嘴,勿喷,若有正确思路等各位大佬指正与分享过程。

首先,题目奉上:

image.png

我用的是C++,因为目前只会只一种语言,而且指针等等知识没学过,只知道简单的数组、循环结构、条件结构等概念,作为一名非科班菜鸟,对于大家的意见一定积极听取,希望最后能够顺利拿到青训营的结业证书,我的目标是程序能运行起来就好doge。

解题过程:

可以确定N和K为输入值,另外定义一个中间值M用来计算时间。

两种交通方式可以看出,公交车要用循环结构来求解,而且不能判断出循环的次数,所以我选择用while循环;步行则是简单的加法。

运用while循环算出公交车所用时间,而且在公交车行驶的距离可以大于目的地,但不能后退。

所以要用条件结构判断出小青下了公交之后,是在小码家前还是后,若是在小码家前则是{ M=M+(K-N) },若是在小码家后,则是{ M=M+(N-K) }并分别用步行来到达目的地,这样应该就是可以到达的最短时间,最后输出所用时间M。

解题代码:

下边是我的解题代码,自己大致思路应该是正确的,但是总觉得哪里有不对劲,而且在一些细节上应该也有毛病,例如最后的返回值我曾经这么写过但是总是报错,这个应该也不对;还有前面的输入值也不知道是否正确(感觉写到最后变成了一条求助帖了doge)。

image.png