leetcode 無重複字串的排序組合

2021-10-02 22:30:56 字數 764 閱讀 8557

題目:無重複字串的排列組合。編寫一種方法,計算某字串的所有排列組合,字串每個字元均不相同。

示例1:

輸入:s = "qwe"

輸出:["qwe", "qew", "wqe", "weq", "ewq", "eqw"]

字元都是英文本母。

字串長度在[1, 9]之間。

解題思路:深度優先+貪心。每一層用for迴圈對已有字串逐個位置插入新字元,構造全部可能組合

原始碼:

char **list;

int cnt;

void proc(char *old, int len, char *add)

char *new = malloc(len + 2);//這裡對記憶體耗費比較大,直接基於old新增和剔除新字元,應該也可以。

for (int i = 0; i < len + 1; i++)

free(new);

}/**

* note: the returned array must be malloced, assume caller calls free().

*/char **permutation(char *s, int *returnsize)

; proc(t, 1, s + 1);

*returnsize = cnt;

return list;

}

leetcode無重複字串

無重複字串 給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew...

leetcode 字串 無重複字元的最長子串

給定乙個字串,請你找出其中不含有重複字元的最長子串的長度。示例 1 輸入 abcabcbb 輸出 3解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew 輸出 3解釋 因為...

leetcode 3 無重複的字串

給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew 輸出 3 ...