汉中免费做网站公司,中国建筑网官网查询证书,石河子做网站的公司,网站开发与硬件合同题干#xff1a;
N个会议要同时举行#xff0c;参会人数分别为A[0], A[1], ...,A[N-1]. 现有M个会议室#xff0c;会议室可容纳人数分别为B[0], B[1], ...,B[M-1]. 当A[i]B[j]时#xff0c;可以把会议i安排在会议室j#xff0c;每间会议室最多安排一个会议#xff0c…题干
N个会议要同时举行参会人数分别为A[0], A[1], ...,A[N-1]. 现有M个会议室会议室可容纳人数分别为B[0], B[1], ...,B[M-1]. 当A[i]B[j]时可以把会议i安排在会议室j每间会议室最多安排一个会议每个会议最多只能安排一个会议室. 求最多安排多少个会议.
1 N, M 100000, 每个会议的参会人数和每间会议室的容纳人数均在1和1000之间.请为下面的Solution类实现解决上述问题的函数assignConferenceRoom. 函数参数A和B的意义如上返回值为最多可安排的会议数.
class Solution {
public:intassignConferenceRoom(vectorint A, vectorint B) {}
};
例1A{2, 3}, B{1, 2}答案为1.
例2A{3, 4, 5}B{10, 3, 2}答案为2.
注意你只需要提交Solution类的代码你在本地可以编写main函数测试程序但不需要提交main函数的代码. 注意不要修改类和函数的名称.解题报告田忌赛马类贪心。需要将两个数组均同序排序然后进行求解。
ac代码
#includeiostream
#includevector
#includealgorithm
using namespace std;int A[100],B[100];
int main()
{int n;cinn;for(int i 0; in; i) {scanf(%d,A[i]); }for(int i 0; in; i) {scanf(%d,B[i]); }sort(A,An,greaterint() );sort(B,Bn,greaterint() );int i 0 , j 0;int ans 0 ;while(in jn) {if(B[j] A[i]) {ans;j;i;}else {i;}}printf(%d\n,ans);return 0 ; }
有一个题是类似的链接如下