From 1e207bfc6b2f546c8a38ed005416076d0da9ef46 Mon Sep 17 00:00:00 2001 From: han Date: Thu, 24 Aug 2023 20:47:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A00077.=E7=BB=84=E5=90=88=20Rub?= =?UTF-8?q?y=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0077.组合.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/problems/0077.组合.md b/problems/0077.组合.md index 8d448739..a7f00ffe 100644 --- a/problems/0077.组合.md +++ b/problems/0077.组合.md @@ -764,6 +764,35 @@ object Solution { } ``` +### Ruby + +```ruby + +def combine(n, k) + result = [] + path = [] + backtracking(result, path, n, 1, k) + return result +end + +#剪枝优化 +def backtracking(result, path, n, j, k) + if path.size == k + result << path.map {|item| item} + return + end + + for i in j..(n-(k - path.size)) + 1 + #处理节点 + path << i + backtracking(result, path, n, i + 1, k) + #回溯,撤销处理过的节点 + path.pop + end +end + +``` +