假设我们有两个括号序列 s 和 t,它们只包含字符 '(' 和 ')'。我们必须检查 s 和 t 的连接字符串是否平衡。连接可以通过 s | t 或 t | s 完成。因此,如果输入类似于 s = "()()))",t = "()(()(",则输出为 True,因为如果我们连接 t | s,我们将得到 "()(()(()()))",它是平衡的。为了解决这个问题,我们将遵循以下步骤 - 定义一个函数 is_balanced_parenthesis()。这将采用字符串 stack := 一个新的列表 for i in range ... 阅读更多
假设我们有两个字符串 s 和 t,我们必须检查我们是否可以通过交换 s 的字符来生成 t。因此,如果输入类似于 s = "worldlloeh" t = "helloworld",则输出为 True,因为我们可以交换 "worldlloeh" 中的字符来构成 "helloworld"。为了解决这个问题,我们将遵循以下步骤 - s_len := s 的大小,t_len := t 的大小 如果 s_len 与 t_len 不相同,则返回 False freq := 一个映射,用于存储所有字符及其在 s 中的频率 for i in range 0 到 t_len,do freq[t[i]] := freq[t[i]] - 1 如果 freq[t[i]] ... 阅读更多
假设我们有两个数字 x 和 y 以及一个给定的范围 (left, right)。我们必须检查给定两个数字的 left 到 right 范围内的所有位是否互为补码。我们必须记住从右到左,因此最低有效位被认为在第一个位置。因此,如果输入类似于 x = 41 y = 54 left = 2 right = 5,则输出为 True,因为 41 和 54 的二进制表示为 101001 和 110110。2 到 ... 的范围内的位 阅读更多