vector<int> numberOfLines(vector<int>& widths, string S) {
    map<char, int> MAP;
    MAP.insert(make_pair('a', widths[0]));
    MAP.insert(make_pair('b', widths[1]));
    MAP.insert(make_pair('c', widths[2]));
    MAP.insert(make_pair('d', widths[3]));
    MAP.insert(make_pair('e', widths[4]));
    MAP.insert(make_pair('f', widths[5]));
    MAP.insert(make_pair('g', widths[6]));

    MAP.insert(make_pair('h', widths[7]));
    MAP.insert(make_pair('i', widths[8]));
    MAP.insert(make_pair('j', widths[9]));
    MAP.insert(make_pair('k', widths[10]));
    MAP.insert(make_pair('l', widths[11]));
    MAP.insert(make_pair('m', widths[12]));
    MAP.insert(make_pair('n', widths[13]));

    MAP.insert(make_pair('o', widths[14]));
    MAP.insert(make_pair('p', widths[15]));
    MAP.insert(make_pair('q', widths[16]));
    MAP.insert(make_pair('r', widths[17]));
    MAP.insert(make_pair('s', widths[18]));
    MAP.insert(make_pair('t', widths[19]));

    MAP.insert(make_pair('u', widths[20]));
    MAP.insert(make_pair('v', widths[21]));
    MAP.insert(make_pair('w', widths[22]));
    MAP.insert(make_pair('x', widths[23]));
    MAP.insert(make_pair('y', widths[24]));
    MAP.insert(make_pair('z', widths[25]));

    int line = 0;
    int linewidth = 0;

    for (auto c : S)
    {        
        int wid = MAP[c];
        linewidth += wid;
        if (linewidth > 100)
        {
            line++;
            linewidth = wid;
        }
    }

    vector<int> R;
    R.push_back(line + 1);
    R.push_back(linewidth);

    return R;
}

 

posted on 2018-09-27 18:46  Sempron2800+  阅读(197)  评论(0编辑  收藏  举报