美文网首页
leetcode1239 串联字符串的最大长度

leetcode1239 串联字符串的最大长度

作者: 奥利奥蘸墨水 | 来源:发表于2020-04-08 00:47 被阅读0次

题目

串联字符串的最大长度

分析

如果这题说的是子串,那么这题解法就是滑动窗口,但是这题说的是子序列,那么先暴力搜索一把再说,真男人就该暴力搜索。

写个check方法,再dfs即可。

代码

class Solution {
private:
    int res;

    bool check(string& str) {
        vector<char> vec(26, 0);
        for (auto & ch : str) {
            if (vec[ch - 'a'] != 0) {
                return false;
            }
            vec[ch - 'a'] = 1;
        }
        return true;
    }

    void dfs(string cur, int k, vector<string>& arr) {
        res = max((int)cur.size(), res);

        for (int i = k; i < arr.size(); i++) {
            string str = cur + arr[i];
            if (check(str)) {
                dfs(str, i + 1, arr);
            }
        }
    }
public:
    int maxLength(vector<string>& arr) {
        res = 0;    
        dfs("", 0, arr);

        return res;
    }
};

相关文章

网友评论

      本文标题:leetcode1239 串联字符串的最大长度

      本文链接:https://www.haomeiwen.com/subject/edgaphtx.html