贪心算法

SyEic_L Lv4

区间型贪心

  • problem:一个会议室同时只能开一个会议,求安排最多会议数的方案
  • result:按照结束时间最早的安排
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class Program{
private:
int start;
int end;
public:
Program(int start, int end){
this->start = start;
this->end = end;
}
int getStart(){
return start;
}
int getEnd(){
retturn end;
}
int compare(Program pro){
return this->getEnd() < pro.getEnd();
}
};

int bestArrange(vector<Program> programs, int timePoint){
sort(programs.begin(), programs.end(), Program::compare);
int res = 0;
for (int i = 0; i < programs.size(); i++){
if (timePoint <= programs[i].getStart()){
res++;
timePoint = programs[i].getEnd();
}
}
return res;
}
  • Title: 贪心算法
  • Author: SyEic_L
  • Created at : 2026-03-12 18:41:34
  • Updated at : 2026-03-12 18:41:34
  • Link: https://blog.syeicl.vip/2026/03/12/贪心算法/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments
On this page
贪心算法