621. 任务调度器
看了题解写的,然后对于模拟题接触比较少

收获:
对于map的遍历:
map<int,int>::iterater iter;
iter = map.begin();
while(iter!=map.end(){iter++;}
然后还有map函数,的static_cost<int>()暂时不想追究这是什么。
class Solution {
public:
int leastInterval(vector<char>& tasks, int n) {
map<int,int>temp;
int result=0;
for(int i=0;i<tasks.size();i++){
temp[tasks[i]-'A']++;
}
int maxn=0;
map<int, int>::iterator iter;
iter = temp.begin();
while(iter != temp.end()) {
if(iter->second>maxn) maxn=iter->second;
iter++;
}
int num_max=0;
iter=temp.begin();
while(iter != temp.end()) {
if(iter->second==maxn) num_max++;
iter++;
}
num_max=num_max+(maxn-1)*(n+1);
result=max(num_max,static_cast<int>(tasks.size()));
return result;
}
};

浙公网安备 33010602011771号