911在线选举

class TopVotedCandidate {
public:
    vector<int> win;
    vector<int> time;
    TopVotedCandidate(vector<int>& persons, vector<int>& times) {
        int n = persons.size();
        vector<int> sum(n+1, 0);
        int maxT = 0, maxD = 0;
        for (int i = 0; i < n; i++) {
            sum[persons[i]]++;
            if (sum[persons[i]] >= maxT) {
                maxT = sum[persons[i]];
                maxD = persons[i];
            }
            win.push_back(maxD);
            this->time = times;
        }
    }
    
    int q(int t) {
        int j = upper_bound(time.begin(), time.end(), t) - time.begin() - 1;
        return win[j];
    }
};

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
7
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务