/**
* @brief 分配问题
*
* @param hungerDegree
* @param cookies
* 有一群孩子和一堆饼干,每个孩子有一个饥饿度,每个饼干都有一个大小。每个孩子只能吃一个饼干,
* 且只有饼干的大小不小于孩子的饥饿度时,这个孩子才能吃饱。求解最多有多少孩子 可以吃饱。
*/
void Algorithm::assignCookies(std::vector<int>& hungerDegree, std::vector<int>& cookies)
{
//先排序
std::sort(hungerDegree.begin(), hungerDegree.end());
std::sort(cookies.begin(), cookies.end());
int child = 0, cookie = 0, remain = 0, full = 0;
while ( child < hungerDegree.size() && cookie < cookies.size() )
{
if ( hungerDegree[child] <= cookies[cookie])
{
++child;
}
else
{
++cookie;
}
}
std::cout << "max child number: " << child << std::endl;
}
贪心之分配问题
最新推荐文章于 2022-02-10 21:19:13 发布