国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

LeetCode22.括號生成 JavaScript

tinylcy / 1060人閱讀

摘要:給出代表生成括號的對數,請你寫出一個函數,使其能夠生成所有可能的并且有效的括號組合。

給出 n 代表生成括號的對數,請你寫出一個函數,使其能夠生成所有可能的并且有效的括號組合。

例如,給出 n = 3,生成結果為:

[
  "((()))",
  "(()())",
  "(())()",
  "()(())",
  "()()()"
]

答案參考:

/**
 * @param {number} n
 * @return {string[]}
 */
var generateParenthesis = function(n) {
    if (n == 1) {
        return ["()"];
    }
    
    let maxCombo = [];
    maxCombo[0] = 0;
    for (let i = 1; i < n * 2; i++) {
        if (i > n + 1) {
            maxCombo[i] = 0;
        } else {
            maxCombo[i] = 1;
        }
    }
    
    let maxComboCount = parseInt(maxCombo.join(""), 2);
    let leastComboCount = parseInt(Array(n).fill(1).join(""), 2);
    let results = [];

    for (let i = leastComboCount; i < maxComboCount; i++) {
        let binary = i.toString(2);

        let balancer_0 = n * 2 - binary.length;
        let balancer_1 = 0;
        let cont = false;

        let result = "";
        
        for (let j = 0; j < balancer_0; j++) {
            result += "(";
        }
        
        for (let j = 0; j < binary.length; j++) {
            if (binary[j] == "0") {
                balancer_0 += 1;
                result += "(";
            } else {
                balancer_1 += 1;
                result += ")";
            }

            if (balancer_1 > balancer_0) {
                cont = true;
                break;
            }
        }

        if (cont || balancer_0 != balancer_1) {
            continue;
        }
        
        results.push(result);
    }
    return results;
};

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/101773.html

相關文章

  • 力扣(LeetCode)22

    摘要:代碼不過這一題標準的解法是回溯法。回溯法在生成全集的過程中進行剪枝,使得效率最大。并且不需要判重,因為回溯就是一次性生成全集,所以不會重復。 題目地址:https://leetcode-cn.com/probl...題目描述:給出 n 代表生成括號的對數,請你寫出一個函數,使其能夠生成所有可能的并且有效的括號組合。 例如,給出 n = 3,生成結果為: [ ((())), (()(...

    dack 評論0 收藏0
  • leetcode22. Generate Parentheses

    摘要:當右括號和左括號的剩余量均為時,及為一個最終結果。而則會在直接原來的對象上進行修改,其指針仍然指向原來的對象。因此在遞歸的過程中使用一定要注意,對對象的修改不要相互干擾。 題目要求 Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses....

    騫諱護 評論0 收藏0
  • LeetCode[22] Generate Parentheses

    摘要:復雜度思路注意的地方,要限制左括號和右括號。每出現一次左括號,就相對于限定了,最多只能出現那么多右括號。所以,為了完成這種限定,用來控制。不然會有的情況出現。 LeetCode[22] Generate Parentheses Given n pairs of parentheses, write a function to generate all combinations of ...

    Jonathan Shieber 評論0 收藏0
  • 6-9月技術文章匯總

    摘要:分布式的管理和當我在談論架構時我在談啥狀態碼詳解無狀態協議和請求支持哪些方法分層協議棧有哪些數據結構運用場景說說你常用的命令為什么要有包裝類面向對象的特征是啥是啥有什么好處系統設計工程在線診斷系統設計與實現索引背后的數據結構及算法原理軟技能 HTTP 【HTTP】分布式session的管理 【HTTP】Cookie和Session 【HTTP】當我在談論RestFul架構時我在談啥?...

    miya 評論0 收藏0
  • leetcode 22 Generate Parentheses

    摘要:要求返回一個中包含組括號所有可能的符合規則的組合。例如輸入結果集應當是想法輸入的就代表著我們的字符串的組成是個和個。我們需要跟蹤和的使用情況,來判斷下一步的操作是否合法。 題目詳情 Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses....

    figofuture 評論0 收藏0

發表評論

0條評論

tinylcy

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<