这是在 C++ 中提供大量输入时给予 TLE(超出时间限制)[关闭]

This is Giving TLE (time limit exceeded) on giving large input in C++ [closed]

提问人:teach me 提问时间:11/15/2023 更新时间:11/15/2023 访问量:48

问:


想改进这个问题吗?通过编辑这篇文章添加详细信息并澄清问题。

5天前关闭。

void helper(vector<string> &f, string &a, int n, string &temp, int i){
    if(i==n){
        if(find(f.begin(), f.end(), temp)==f.end()){
            f.push_back(temp);
        }
        
        return;
    }

    helper(f, a, n, temp, i+1);
    temp.push_back(a[i]);
    helper(f, a, n, temp, i+1);
    temp.pop_back();
    return;
    


}

string moreSubsequence(int n, int m, string a, string b)
{
    // Write your code here
    vector<string>f;
    
    string temp="";
    
    helper(f, a, n, temp, 0);
    temp="";
    int a_size= f.size();
    f.clear();
    helper(f, b, m, temp, 0);
    int b_size=f.size();
    f.clear();
    if(a_size>=b_size){
        return a;
    }
    else return b;
    
}

我在编码忍者平台上获得了 27/50 的案例。我通过了所有 20 个案例,但在提交 TLE 后,在 27/50 案例之后感到高兴。我想要使用递归进行这种优化,没有其他方式。帮助我仅使用递归优化此代码。

C++ 递归 优化

评论


答: 暂无答案