日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > [LeetCode] 022. Generate Parentheses (Medium) (C++/Java/Python)

[LeetCode] 022. Generate Parentheses (Medium) (C++/Java/Python)

來源:程序員人生   發布時間:2015-03-14 09:07:50 閱讀次數:4072次

索引:[LeetCode] Leetcode 題解索引 (C++/Java/Python/Sql)
Github: https://github.com/illuz/leetcode


022.Generate_Parentheses (Medium)

鏈接

題目:https://oj.leetcode.com/problems/generate-parentheses/
代碼(github):https://github.com/illuz/leetcode

題意

產生有 n 對括號的所有有效字符串。

分析

  1. 用 DFS 可以很快做出來,能加’(‘就加’(‘,能加’)’就加’)’。(下面的 C++ 實現)
  2. 還有很機靈方法寫出很短的 DFS 。 (Java 實現)
  3. 對 DFS 都可以進行記憶化,用空間換時間。 (Python 實現)

代碼

C++:

class Solution { private: string tmp; void dfs(vector<string> &v, int pos, int n, int used) { if (pos == n * 2) { cout << tmp << endl; v.push_back(tmp); return; } if (used < n) { tmp.push_back('('); dfs(v, pos + 1, n, used + 1); tmp.pop_back(); } if (used * 2 > pos) { tmp.push_back(')'); dfs(v, pos + 1, n, used); tmp.pop_back(); } } public: vector<string> generateParenthesis(int n) { vector<string> res; if (n == 0) return res; tmp = ""; dfs(res, 0, n, 0); return res; } };


Java:

public class Solution { public List<String> generateParenthesis(int n) { List<String> ret = new ArrayList<String>(), inner, outter; if (n == 0) { ret.add(""); return ret; } if (n == 1) { ret.add("()"); return ret; } for (int i = 0; i < n; ++i) { inner = generateParenthesis(i); outter = generateParenthesis(n - i - 1); for (int j = 0; j < inner.size(); ++j) { for (int k = 0; k < outter.size(); ++k) { ret.add("(" + inner.get(j) + ")" + outter.get(k)); } } } return ret; } }


Python:

class Solution: # @param an integer # @return a list of string def generateParenthesis(self, n): dp = {0: [""], 1: ["()"]} def memorial_dfs(n): if n not in dp: dp[n] = [] for i in range(n): for inner in memorial_dfs(i): for outter in memorial_dfs(n - i - 1): dp[n].append('(' + inner + ')' + outter) return dp[n] return memorial_dfs(n)


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲午夜免费视频 | 韩国三级中文字幕hd久久精品 | 天堂在线看 | 在线男人天堂 | 亚洲午夜久久久久 | 亚洲视频在线观看网址 | 免费一二三区 | 国产黄色在线看 | 欧美 日韩 综合 | 一区二区三区免费在线观看 | 国产丝袜一区二区三区免费视频 | 日韩视频三区 | 午夜香蕉 | 中文字幕视频一区 | jizzjizz女人水多 | 色狠狠一区 | 日韩一区二区在线免费观看 | 国产一区高清 | 91一区二区三区在线观看 | 久久福利| 黄网站免费观看 | 亚洲一区二区三区精品视频 | www.偷拍.com| 激情片网站 | 二区三区视频 | 在线免费看毛片 | 久草在线国产 | 国产在线激情视频 | 成人欧美一区二区三区黑人免费 | 亚洲国产成人精品女人久久久 | 亚洲欧美一区二区三区国产精品 | 久久久久网站 | 夫妻av | 亚洲午夜精品久久久久久浪潮 | 婷婷精品国产一区二区三区日韩 | 久久精品高清 | 51久久夜色精品国产麻豆 | av在线短片 | 99精品视频在线观看免费 | 九色91在线 | 黄色一级毛片免费 |