problemscpp
A collection of my answers to algorithm problems in c++.
静态 Public 成员函数 | 所有成员列表
leetcode::meeting_scheduler::Solution类 参考

#include <leetcode.h>

静态 Public 成员函数

static pair< int, int > merge (const vector< int > &vec1, const vector< int > &vec2)
 
static vector< int > minAvailableDuration (vector< vector< int > > &slots1, vector< vector< int > > &slots2, int duration)
 

详细描述

在文件 leetcode.h2769 行定义.

成员函数说明

◆ merge()

pair< int, int > leetcode::meeting_scheduler::Solution::merge ( const vector< int > &  vec1,
const vector< int > &  vec2 
)
static

在文件 leetcode.cpp7626 行定义.

7626{ return {max(vec1[0], vec2[0]), min(vec1[1], vec2[1])}; }

被这些函数引用 minAvailableDuration().

◆ minAvailableDuration()

vector< int > leetcode::meeting_scheduler::Solution::minAvailableDuration ( vector< vector< int > > &  slots1,
vector< vector< int > > &  slots2,
int  duration 
)
static

在文件 leetcode.cpp7602 行定义.

7602 {
7603 vector<int> ans(2);
7604 auto cmp = [](const vector<int> &vec1, const vector<int> &vec2) -> bool {
7605 if(vec1[1] != vec2[1]) {
7606 return vec1[1] < vec2[1];
7607 }
7608 return vec1[0] < vec2[0];
7609 };
7610 sort(slots1.begin(), slots1.end(), cmp);
7611 sort(slots2.begin(), slots2.end(), cmp);
7612 for(auto it1 = slots1.begin(), it2 = slots2.begin(); it1 != slots1.end() && it2 != slots2.end();) {
7613 pair<int, int> p = merge(*it1, *it2);
7614 if(p.second - p.first >= duration) {
7615 return {p.first, p.first + duration};
7616 }
7617 if(cmp(*it1, *it2)) {
7618 ++it1;
7619 } else {
7620 ++it2;
7621 }
7622 }
7623 return {};
7624 }
bool cmp(const pair< int, int > &a, const pair< int, int > &b)
Definition: acwing.cpp:6470
static pair< int, int > merge(const vector< int > &vec1, const vector< int > &vec2)
Definition: leetcode.cpp:7626

引用了 acwing::acwing4397::cmp() , 以及 merge().

被这些函数引用 leetcode::meeting_scheduler::TEST().


该类的文档由以下文件生成: