当青训营遇上码上掘金
这是我第一次分享自己的解题思路,大概率不对,请各位能高抬贵嘴,勿喷,若有正确思路等各位大佬指正与分享过程。
首先,题目奉上:
我用的是C++,因为目前只会只一种语言,而且指针等等知识没学过,只知道简单的数组、循环结构、条件结构等概念,作为一名非科班菜鸟,对于大家的意见一定积极听取,希望最后能够顺利拿到青训营的结业证书,我的目标是程序能运行起来就好doge。
解题过程:
可以确定N和K为输入值,另外定义一个中间值M用来计算时间。
两种交通方式可以看出,公交车要用循环结构来求解,而且不能判断出循环的次数,所以我选择用while循环;步行则是简单的加法。
运用while循环算出公交车所用时间,而且在公交车行驶的距离可以大于目的地,但不能后退。
所以要用条件结构判断出小青下了公交之后,是在小码家前还是后,若是在小码家前则是{ M=M+(K-N) },若是在小码家后,则是{ M=M+(N-K) }并分别用步行来到达目的地,这样应该就是可以到达的最短时间,最后输出所用时间M。
解题代码:
下边是我的解题代码,自己大致思路应该是正确的,但是总觉得哪里有不对劲,而且在一些细节上应该也有毛病,例如最后的返回值我曾经这么写过但是总是报错,这个应该也不对;还有前面的输入值也不知道是否正确(感觉写到最后变成了一条求助帖了doge)。