欢迎光临
我们一直在努力

leetcode3633 最早完成陆地和水上游乐设施的时间I

一、问题描述

二、解题思路

本题可以使用暴力枚举的方法来解决,解题思路如下:

(1)遍历陆地项目,固定陆地项目,枚举海洋项目,就是构成一个(i,j)对,i为陆地项目的下标,j为海洋项目的下标;

(2)对于每一个(i,j)对,有先陆地后海洋和先海洋后陆地两种情况:

<1>先陆地后海洋:time1=max(landstart+landduration,waterstart)+waterduration;

<2>先海洋再陆地:time2=max(waterstart+waterduration,landstart)+landduration;

完成全局枚举,ret为最小的time值;

三、代码实现

class Solution {
public:
int earliestFinishTime(vector<int>& landStartTime, vector<int>& landDuration, vector<int>& waterStartTime, vector<int>& waterDuration) {
//暴力:对于每一个(i,j)对,分别计算时间,取全局最小值,进行返回
int ret =INT_MAX;
for(int i=0;i!=landStartTime.size();i++)
for(int j=0;j!=waterStartTime.size();j++){
int landstart=landStartTime[i],landduration=landDuration[i];
int waterstart=waterStartTime[j],waterduration=waterDuration[j];
//先陆地再海洋
int time1=max(landstart+landduration,waterstart)+waterduration;
//先海洋再陆地
int time2=max(waterstart+waterduration,landstart)+landduration;
ret=min(ret,min(time1,time2));
}
return ret;
}
};

赞(0)
未经允许不得转载:171主机测评 » leetcode3633 最早完成陆地和水上游乐设施的时间I
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址