首页 > TAG信息列表 > leftNum
leetcode :[22. 括号生成](https://leetcode-cn.com/problems/generate-parentheses/)
# leetcode :[22. 括号生成](https://leetcode-cn.com/problems/generate-parentheses/) 数字 `n` 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 **有效的** 括号组合。 **示例 1:** ``` 输入:n = 3 输出:["((()))","(()())","(())()","()(())","()()()"二叉树的叶结点/ 树的深度计算
二叉树叶子结点的计算: 二叉树叶子结点总数等于左子树的叶子结点 + 右子树的叶子结点, 判断是不是叶子结点 , 如果是返回1 ,如果不是叶子结点,继续递归。 线序计算二叉树结点个数: 首先定义一个全局变量 leftNum, 如果是叶子结点,就让叶子结点计数器leftNum++; 如果不是叶子结点,就递2021.10.27 力扣-每日一题-删除无效的括号
题目描述: 给你一个由若干括号和字母组成的字符串 s ,删除最小数量的无效括号,使得输入的字符串有效。 返回所有可能的结果。答案可以按 任意顺序 返回。 方法一: class Solution { public: vector<string> ans; unordered_map<string, int> maps; void dfs(string快速选择算法(找到第k个数字)
在一个给定的乱序的序列中找到第k个数字,可能会想到先排序,然后输出第k个数。这种方法简单粗暴,时间复杂度为O(nlogn)。 还有一种方法是快速选择,它的思想和快速排序很相似。就是先选择一个数x,然后把这个序列分成左右两边,其中左边的所有的数都<=x,右边的数都>=x。然后比较左边对顶堆——中位数神器
对顶堆——中位数神器 对顶堆,即一个大根堆和一个小根堆组合而成的一个数据结构,可以很方便的维护可变区间中位数。 平衡值 如果固定序列的大小为 n n n,那么平衡值指堆的最大大小。如果*LeetCode 301 删除无效的括号(困难)
删除最小数量的无效括号,使得输入的字符串有效,返回所有可能的结果。 说明: 输入可能包含了除 ( 和 ) 以外的字符。 示例 1: 输入: “()())()” 输出: ["()()()", “(())()”] 示例 2: 输入: “(a)())()” 输出: ["(a)()()", “(a())()”] 示例 3: 输入: “)(” 输出: [""