声网笔试 2021/09/22,不招人了?


声网笔试 2021/09/22 ,虽然是英语题目,但是这样出题,是不招人了吗?
第一题:任意构造前缀数相同的字符串;
#include<bits/stdc++.h>
using namespace std;

vector<string> solve(vector<int>& nums)
{
    int n = nums.size();
    vector<string> res;
    string sta_str = "";
    for(int i = 0 ; i < 50 ; ++i)
        sta_str += 'a';
    res.push_back(sta_str);
    for(int i = 0 ; i < n ; ++i)
    {
        int len = nums[i];
        string tmp = "";
        for(int k = 0 ; k < len ; ++k)
        {
            tmp.push_back(sta_str[k]);
        }
        char c = sta_str[len];
        char cc;
        if(c < 'z')
            cc = static_cast<char>(c+1);
        else if(c == 'z')
            cc = static_cast<char>(c-1);
        for(int k = len ; k < 50 ; ++k)
        {
            tmp.push_back(cc);
        }
        res.push_back(tmp);
        sta_str = tmp;
    }
    return res;
}


int main()
{
    int T;
    cin >> T;
    for(int t = 0 ; t < T ; ++t)
    {
        int n;
        cin >> n;
        vector<int> nums(n);
        for(int i = 0 ; i < n ; ++i)
        {
            cin >> nums[i];
        }
        vector<string> res = solve(nums);
        for(int i = 0 ; i < res.size() ; ++i)
            cout << res[i] << endl;
    }
    return 0;
}
第二题:出题的意义?
#include<bits/stdc++.h>
using namespace std;

int solve(int n)
{
    if(n <= 3)
        return 1;
    if(n % 2 == 0)
    {
        return n / 2;
    }
    else
    {
        return (n-1)/2;
    }
    
}

int main()
{

    int T;
    cin >> T;
    for(int t = 0 ; t < T  ;++t)
    {
        int n;
        cin >> n;
        cout << solve(n) << endl;
    }
    return 0;
}


#笔试题目##声网Agora#
全部评论
第一题可以ac吗?感觉答案会有很多种
点赞 回复
分享
发布于 2020-09-22 21:42

相关推荐

1 6 评论
分享
牛客网
牛客企业服务