笔试刷题-去哪儿2018-06-29

题目描述:

/**
从小明家所在公交站出发有n路公交到公司,
现给出每路公交的停站数(不包括起点和终点),
及每次停的时间(一路车在每个站停的时间相同)和发车的间隔,
先假定每辆车同时在相对时间0分开始发车,
且所有车在相邻两个站之间的耗时相同,都为5分钟。
给定小明起床的相对时间(相对0的分钟数),请计算他最早到达公司的相对时间。
给定每路车的停站数stops,
停站时间period,
发车间隔interval及
公交路数n,
出发时间s。
请返回最早到达时间。保证公交路数小于等于500,停站数小于等于50。
*/

思路如下:

思路:
计算每一路车,小明在s点起床到公司需要的总时间,找出最少的用时即可

代码如下:

#include<climits>
 
class TakeBuses {
public:
    int chooseLine(vector<int> stops, vector<int> period, vector<int> interval, int n, int s) {
        // write code here
        int minCost=INT_MAX;
        for(int i=0; i<n; i++)
        {
            int totalCost=0;
            //加上等车时间
            if(s%interval[i])
                totalCost+=(interval[i]-(s%interval[i]));
            //加上所有停站时间
            totalCost+=(stops[i]*period[i]);
            //加上所有跑路时间
            totalCost+=5*(stops[i]+1);
            minCost=min(minCost, totalCost);
        }
        return s+minCost;
    }
};

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1、用C语言实现一个revert函数,它的功能是将输入的字符串在原串上倒序后返回。 2、用C语言实现函数void ...
    希崽家的小哲阅读 6,708评论 0 12
  • 儿子小学毕业,学校、班级也没举行什么仪。儿子回来说,妈妈,准备的毕业留言册也没用上,以为还能返校呢。 一脸的悻悻然...
    内心的声音阅读 603评论 2 0
  • 惊雷乍起裂苍穹, 半盏残烛睡意浓。 月色长眠银河水, 芳菲四月泣雷龙。
    蒙山小道阅读 303评论 0 2
  • 多年以后,她不会想到一个江南书生,他面施春天的油彩,腰系一湾溪水随性赶路闯入她的贞洁 “圣旨——”“旌表已故儒士苏...
    夏阿川阅读 416评论 0 10
  • 我和玲儿是小学同学,那时我们都是“高年级”的学生,就是六年级。玲儿是留级生,比我大一岁,却好像比我和身边的人成熟好...
    瑶儿诶阅读 1,058评论 1 4

友情链接更多精彩内容