请用贪心算法解决以下活动安排问题。 某处举办活动,仅有一个会场,有 11 个活动需要安排,开始时间和结束时间如下表,要求该会场能够尽可能多的满足活动。(注:只考虑满足活动的个数,不考虑占用时间) i 1 2 3 4 5 6 7 8 9 10 11 开始时间 s[i] 12 2 8 8 6 5 3 5 0 3 1 结束时间 f[i] 14 13 12 11 10 9 8 7 6 5 4-笔试面试资料

这是qklbishe.com第19763 篇笔试面试资料
提供答案分析,通过本文《请用贪心算法解决以下活动安排问题。 某处举办活动,仅有一个会场,有 11 个活动需要安排,开始时间和结束时间如下表,要求该会场能够尽可能多的满足活动。(注:只考虑满足活动的个数,不考虑占用时间) i 1 2 3 4 5 6 7 8 9 10 11 开始时间 s[i] 12 2 8 8 6 5 3 5 0 3 1 结束时间 f[i] 14 13 12 11 10 9 8 7 6 5 4-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:

请用贪心算法解决以下活动安排问题。

某处举办活动,仅有一个会场,有 11 个活动需要安排,开始时间和结束时间如下表,要求该会场能够尽可能多的满足活动。(注:只考虑满足活动的个数,不考虑占用时间)

i

1

2

3

4

5

6

7

8

9

10

11

开始时间 s[i]

12

2

8

8

6

5

3

5

0

3

1

结束时间

f[i]

14

13

12

11

10

9

8

7

6

5

4

请用贪心算法解决以下活动安排问题。      某处举办活动,仅有一个会场,有  11  个活动需要安排,开始时间和结束时间如下表,要求该会场能够尽可能多的满足活动。(注:只考虑满足活动的个数,不考虑占用时间)                               i                               1                               2                               3                               4                               5                               6                               7                               8                               9                               10                               11                                       开始时间  s[i]                               12                               2                               8                               8                               6                               5                               3                               5                               0                               3                               1                                       结束时间                     f[i]                               14                               13                               12                               11                               10                               9                               8                               7                               6                               5                               4 一城烟雨柳色青
因为只存在一个会场,所以要满足足够多的活动必须保证每个活动所占用的时间都是不相容的,即i活动的开始时间si必须大于等于j活动的结束时间ej,或者j活动的开始时间sj大于等于i活动而的结束时间ei。

#include <iostream> #include <vector> #include <algorithm>  using namespace std;   int main() {     vector<int> a = {12,2,8,8,6,5,3,5,0,3,1};  //开始时间         vector<int> b = {14,13,12,11,10,9,8,7,6,5,4};  //结束时间         vector<pair<int,int>> v;         for(int i = 0; i < (int)a.size(); ++i)             v.push_back({b[i],a[i]});         sort(v.begin(),v.end());               //vv[i].first 是结束时间,second是开始时间         int count = 1;   //默认选最早结束的,也就是vv[0]         int endFlag = vv[0].first;         for(int i = 1; i < (int)v.size(); ++i)         {             //如果i开始时间大于endFlag就ok,然后更新endFlag             if(vv[i].second >= endFlag)             {                 ++count;                 endFlag = vv[i].first;             }         }         return count;          }

今天 11:49:46 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 请用贪心算法解决以下活动安排问题。 某处举办活动,仅有一个会场,有 11 个活动需要安排,开始时间和结束时间如下表,要求该会场能够尽可能多的满足活动。(注:只考虑满足活动的个数,不考虑占用时间) i 1 2 3 4 5 6 7 8 9 10 11 开始时间 s[i] 12 2 8 8 6 5 3 5 0 3 1 结束时间 f[i] 14 13 12 11 10 9 8 7 6 5 4-笔试面试资料

提供最优质的资源集合

立即查看 了解详情