20号晚工场笔试编程题

工场笔试题两个编程题,最后一道漏了,第一道题连题目都没看清楚,就写了个基本没符合要求,结果当然是果断悲剧了。。。

基础部分选择填空啥的还算是容易,记得不太清楚了。再就是一个智力题吧,一个sql语句题。。。

先说说第一个题目,写完出来才知道题目都理解错了。。

题目意思是

给出一个序列如 {b, a}
按字典序输出 {aa, ab, ba, bb}
{b, c, a} =====>> { aaa, aab, aac, aba, ..., cca, ccb, ccc}

这里再写了一下:

void fun(string str, vector<char> &result)
{
    if (result.size() == str.length())
    {
        auto iter = result.begin();
        for (; iter != result.end(); iter++)
        {
            cout << *iter;
        }
        cout << endl;
        return;
    }
    else
    {
        for (unsigned int i=0; i<str.length(); i++)
        {
            result.push_back(str[i]);
            fun(str, result);
            result.pop_back();
        }
    }
}

void fun(string str)
{
    if (!str.empty())
    {
        sort(str.begin(), str.end());
        vector<char> result;
        fun(str, result);
    }
}

第二道题目没看到原题,憾。

posted @ 2012-09-21 09:31  merlin_q  阅读(204)  评论(0)    收藏  举报