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

#include <lintcode.h>

静态 Public 成员函数

static int distributeCandies (vector< int > &candies)
 

详细描述

在文件 lintcode.h32 行定义.

成员函数说明

◆ distributeCandies()

int lintcode::distribute_candies::Solution::distributeCandies ( vector< int > &  candies)
static
参数
candiesa list of integers
返回
: return a integer

在文件 lintcode.cpp56 行定义.

56 {
57 auto m = map<long, int>();
58 auto ans = set<int>();
59 const int n = static_cast<int>(candies.size()) / 2;
60 int sum = 0;
61 for(const auto candy: candies) {
62 m[candy]++;
63 }
64 while(sum < n) {
65 for(auto candy: m) {
66 if(candy.second != 0) {
67 if(!ans.contains(static_cast<int>(candy.first))) {
68 ans.insert(static_cast<int>(candy.first));
69 if(ans.size() == m.size()) {
70 return static_cast<int>(ans.size());
71 }
72 }
73 candy.second--;
74 sum++;
75 }
76 if(sum >= n) {
77 break;
78 }
79 }
80 }
81 return static_cast<int>(ans.size());
82 }

被这些函数引用 lintcode::distribute_candies::TEST().


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