给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。 此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。
给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意: • 有效的算符为 '+'、'-'、'*' 和 '/' 。 • 每个操作数(运算对象)都可以是一个整数或者另一个表达式。 • 两个整数之间的除法总是 向零截断 。 • 表达式中不含除零运算。 • 输入是一个根据逆波兰表示法表示的算术表达式。 • 答案及所有中间计算结果可以用 32 位 整数表示。
通常,正整数 n 的阶乘是所有小于或等于 n 的正整数的乘积。例如,factorial(10) = 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1。 相反,我们设计了一个笨阶乘 clumsy:在整数的递减序列中,我们以一个固定顺序的操作符序列来依次替换原有的乘法操作符:乘法(*),除法(/),加法(+)和减法(-)。 例如,clumsy(10) = 10 * 9 / 8 + 7 - 6 * 5 / 4 + 3 - 2 * 1。然而,这些运算仍然使用通常的算术运算顺序:我们在任何加、减步骤之前执行所有的乘法和除法步骤,并且按从左到右处理乘法和除法步骤。 另外,我们使用的除法是地板除法(floor division),所以 10 * 9 / 8 等于 11。这保证结果是一个整数。 实现上面定义的笨函数:给定一个整数 N,它返回 N 的笨阶乘。
给你一个只包含三种字符的字符串,支持的字符类型分别是 '('、')' 和 '*'。请你检验这个字符串是否为有效字符串,如果是 有效 字符串返回 true 。 有效 字符串符合如下规则: • 任何左括号 '(' 必须有相应的右括号 ')'。 • 任何右括号 ')' 必须有相应的左括号 '(' 。 • 左括号 '(' 必须在对应的右括号之前 ')'。 • '*' 可以被视为单个右括号 ')' ,或单个左括号 '(' ,或一个空字符串 ""。
给你一个字符串 s ,下标从 0 开始 ,且长度为偶数 n 。字符串 恰好 由 n / 2 个开括号 '[' 和 n / 2 个闭括号 ']' 组成。 只有能满足下述所有条件的字符串才能称为 平衡字符串 : • 字符串是一个空字符串,或者 • 字符串可以记作 AB ,其中 A 和 B 都是 平衡字符串 ,或者 • 字符串可以写成 [C] ,其中 C 是一个 平衡字符串 。 你可以交换 任意 两个下标所对应的括号 任意 次数。 返回使 s 变成 平衡字符串 所需要的 最小 交换次数。
给你一个由 '('、')' 和小写字母组成的字符串 s。 你需要从字符串中删除最少数目的 '(' 或者 ')' (可以删除任意位置的括号),使得剩下的「括号字符串」有效。 请返回任意一个合法字符串。 有效「括号字符串」应当符合以下 任意一条 要求: • 空字符串或只包含小写字母的字符串 • 可以被写作 AB(A 连接 B)的字符串,其中 A 和 B 都是有效「括号字符串」 • 可以被写作 (A) 的字符串,其中 A 是一个有效的「括号字符串」
给定一个平衡括号字符串 S,按下述规则计算该字符串的分数: • () 得 1 分。 • AB 得 A + B 分,其中 A 和 B 是平衡括号字符串。 • (A) 得 2 * A 分,其中 A 是平衡括号字符串。
给出一个字符串 s(仅含有小写英文字母和括号)。 请你按照从括号内到外的顺序,逐层反转每对匹配括号中的字符串,并返回最终的结果。 注意,您的结果中 不应 包含任何括号。
有效括号字符串为空 ""、"(" + A + ")" 或 A + B ,其中 A 和 B 都是有效的括号字符串,+ 代表字符串的连接。 • 例如,"","()","(())()" 和 "(()(()))" 都是有效的括号字符串。 如果有效字符串 s 非空,且不存在将其拆分为 s = A + B 的方法,我们称其为原语(primitive),其中 A 和 B 都是非空有效括号字符串。 给出一个非空有效字符串 s,考虑将其进行原语化分解,使得:s = P_1 + P_2 + ... + P_k,其中 P_i 是有效括号字符串原语。 对 s 进行原语化分解,删除分解中每个原语字符串的最外层括号,返回 s 。
只有满足下面几点之一,括号字符串才是有效的: • 它是一个空字符串,或者 • 它可以被写成 AB (A 与 B 连接), 其中 A 和 B 都是有效字符串,或者 • 它可以被写作 (A),其中 A 是有效字符串。 给定一个括号字符串 s ,在每一次操作中,你都可以在字符串的任何位置插入一个括号 • 例如,如果 s = "()))" ,你可以插入一个开始括号为 "(()))" 或结束括号为 "())))" 。 返回 为使结果字符串 s 有效而必须添加的最少括号数。
给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 1. 左括号必须用相同类型的右括号闭合。 2. 左括号必须以正确的顺序闭合。 3. 每个右括号都有一个对应的相同类型的左括号。