当青训营遇上码上掘金

936 阅读1分钟

当青训营遇上码上掘金 第一次参加「青训营 X 码上掘金」主题创作活动入营版。为迎接同学们假期热情参加字节跳动青训营,由字节跳动官方为寒假青训营的同学们举办,该活动有四个主题供同学们选择,其中前两个主题是写一个前端页面,包括自我介绍,展示活动。后两个是算法作业。我作为后端的开发人员,自然选择了后两个中的一个。相比起vue页面,我更熟悉算法,当然算法对我而言还是入门级别。我选择的算法是寻找最短时间。解题思路大概以下: 小青和小码位置不同,小青去找小码,小青的交通方式只有步行和乘坐公交,乘坐公交只能向前方行驶,步行可以前后行驶。所以我们的第一个分类就来了:当小青在小码前面时,小青只能步行去找小码。 接下来我考虑到称作公交时移动速度时2*X,X表示小青当前所在的节点的位置,于是我首先想到的是将小码的位置除2,一直除到找到距离小青最近的位置,记作min,从min到小码的位置等于min乘order,即小码位置=min * order。这个order/2既是从min位置乘公交到小码位置的时间。 接下来是除的过程中的小数舍去问题,根据不同情况呢处理一下小数舍去问题即可完成代码了。