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;
    }
};

 

posted @ 2022-01-16 19:28  jozon  阅读(29)  评论(0)    收藏  举报